1. Посчитать сумму всех элементов массива. Для этого до цикла вводится переменная для суммы (например, sum). Далее в цикле перебираются элементы массива и значение каждого добавляется к этой переменной. Подсчет суммы можно выполнить в том же цикле, что и заполнение массива.
2. Когда сумма элементов посчитана, находится среднее арифметическое, которое равно сумме разделенной на количество элементов массива.
3. Массив перебирается в цикле, каждый элемент сравнивается с найденным средним значением. Если элемент меньше, то он выводится на экран (или сохраняется в другом массиве).
const N = 10;
var
a: array[1..N] of integer;
i: byte;
avrg: real;
sum: integer;
begin
randomize;
for i:=1 to N do a[i]:=random(50)+1;
sum := 0;
for i:=1 to N do sum := sum + a[i];
avrg := sum/N;
// весь массив
for i:=1 to N do write(a[i]:3);
writeln;
writeln('Среднее арифм.: ',avrg:4:2);
// больше avrg
for i:=1 to N do if a[i]<avrg then write(a[i]:3);
writeln;
end.
Объяснение:
Алгоритм решения задачи:
1. Посчитать сумму всех элементов массива. Для этого до цикла вводится переменная для суммы (например, sum). Далее в цикле перебираются элементы массива и значение каждого добавляется к этой переменной. Подсчет суммы можно выполнить в том же цикле, что и заполнение массива.
2. Когда сумма элементов посчитана, находится среднее арифметическое, которое равно сумме разделенной на количество элементов массива.
3. Массив перебирается в цикле, каждый элемент сравнивается с найденным средним значением. Если элемент меньше, то он выводится на экран (или сохраняется в другом массиве).
Скопировал с сайта сразу говорю.