При решении многих задач возникает необходимость установить, содержит ли массив определенную информацию или нет. Например, определить есть ли в массиве нулевые элементы. Задачи такого типа называются поиском в массиве.
Для организации поиска в массиве могут быть использованы различные алгоритмы. Наиболее простой – это алгоритм простого перебора. Поиск осуществляется последовательным сравнением элементов массива с образцом.
Например:
· Определить сколько раз в массиве встречается число а.
var
b: array [1..20] of integer;
i, n, k, a: integer;
begin
clrscr;
k:=0;
writeln (‘Введите искомое число’); readln (a);
writeln (’Введите количество элементов массива’); readln (n);
for i:=1 to n do begin
write (‘b[‘,i,’]=’);
readln (b[i]);
if b[i]=a then inc(k);
end;
writeln (‘Количество элементов равных ’,a,’ в массиве ’,k);
readln;
end.
Задачи:
1. Выяснить, верно ли, что сумма элементов массива есть неотрицательное число.
2. Дан массив целых чисел. Выяснить:
а) верно ли, что сумма элементов массива есть четное число;
б) верно ли, что сумма квадратов элементов массива есть пятизначное число.
3. Определить количество положительных и количество отрицательных элементов массива.
4. Дан массив. Найти:
а) сумму элементов массива, значение которых не превышает 20;
б) сумму элементов массива, больших числа a.
5. Дан массив целых чисел. Найти:
а) сумму нечетных элементов;
б) сумму элементов, кратных заданному числу;
в) сумму элементов массива, кратных a или b.
6. Определить сумму второго, четвертого, шестого и т.д. элементов массива.
7. Определить частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов.
8. Дан массив целых чисел. Определить количество четных элементов и количество элементов, оканчивающихся на цифру 5.
9. Определить количество элементов массива, принадлежащих промежутку от a до b (значения a и b вводятся с клавиатуры; b>a).
10. Найти число пар ''соседних'' элементов массива, являющихся четными числами.
11. Найти число пар ''соседних'' элементов массива, оканчивающихся нулем.
12. Найти число элементов массива, которые больше своих ''соседей'', т.е. предшествующего и последующего.
13. Найти среднее арифметическое элементов массива, больших числа 10.
14. Найти средние арифметические положительных и отрицательных элементов массива.
15. Дан массив вещественных чисел.
а) Каждый отрицательный элемент заменить на его абсолютную величину.
б) Все элементы с нечетными номерами заменить на их квадратный корень.
в) Из всех положительных элементов вычесть элемент с номером k1, из остальных - элемент с номером k2.
г) Все элементы с нечетными номерами увеличить на 1, с четными - уменьшить на 1.
д) Из всех положительных элементов вычесть элемент с номером k1, из всех отрицательных - число n. Нулевые элементы оставить без изменения.
е) Ко всем нулевым элементам прибавить n, из всех положительных элементов вычесть a, ко всем отрицательным прибавить b.
16. Дан массив вещественных чисел.
а) Каждый элемент, больший 10, заменить на его квадратный корень.
б) Все элементы массива с четными номерами заменить на их абсолютную величину.
в) Ко всем отрицательным элементам прибавить элемент с номером m1, к остальным - элемент с номером m2.
г) Все элементы с четными номерами удвоить, с нечетными - уменьшить на 1.
д) Ко всем отрицательным элементам прибавить элемент с номером a1, из всех нулевых вычесть число b. Положительные элементы оставить без изменения.
е) Из всех положительных элементов вычесть a, из всех отрицательных вычесть b. Ко всем нулевым элементам прибавить c.
17. Дан массив целых чисел.
а) Все элементы, оканчивающиеся цифрой 4, уменьшить вдвое.
б) Все четные элементы заменить на их квадраты, а нечетные удвоить.
в) Четные элементы увеличить на a, а из элементов с четными номерами вычесть b.
18. Дан массив целых чисел.
а) Все элементы, кратные числу 10, заменить нулем.
б) Все нечетные элементы удвоить, а четные уменьшить вдвое.
в) Нечетные элементы уменьшить на m, а элементы с нечетными номерами увеличить на n.