Определить индексы элементов массива, значение которых лежит в указанном пределе
В массиве определить индексы элементов, значение которых не меньше заданного минимума и не больше заданного максимума.
Это простая задача, если не требуется сохранять индексы элементов, а просто выводить их на экран. Ее можно усложнить, если задать условие сохранения в программе индексов найденных элементов и определение их общего количества. В таком случае потребуется ввести еще один массив.
Описание переменных:
- arr - исследуемый массив;
- id - массив индексов элементов массива arr, значение которых лежит в определенных пределах;
- min, max - нижняя и верхняя граница диапазона;
- m - количество найденных элементов.
Алгоритм решения задачи:
- генерируем массив случайных чисел и выводим его на экран;
- запрашиваем у пользователя нижнюю и верхнюю границы поиска;
- перебирая массив, если значение очередного элемента больше или равно минимуму и меньше или равно максимуму, то помещаем его индекс в массив id;
- выводим общее количество найденных элементов и их индексы в массиве arr, сохраненные в массиве id.
Программа на языке Паскаль:
const N = 10;
var
arr: array[1..N] of integer;
id: array[1..N] of byte;
min, max: integer;
i, m: byte;
begin
randomize;
for i := 1 to N do begin
arr[i] := random(100);
write(arr[i], ' ');
end;
writeln;
write('Min: '); readln(min);
write('Max: '); readln(max);
m := 0;
for i := 1 to N do
if (arr[i] >= min) and
(arr[i] <= max) then begin
m := m + 1;
id[m] := i;
end;
writeln('Total: ', m);
write('Id: ');
for i := 1 to m do
write(id[i], ' ');
writeln;
end.
Примеры выполнения кода:
40 18 84 37 72 74 88 85 42 14
Min: 21
Max: 49
Total: 3
Id: 1 4 9