Вывести элементы массива, которые больше среднего арифметического
Дан одномерный массив. Найти среднее арифметическое его элементов. Вывести на экран только те элементы массива, которые больше найденного среднего арифметического.
Введем переменные:
- a - массив;
- sum - сумма элементов массива;
- avrg - среднее значение.
Алгоритм решения задачи:
- Заполняем массив (например, случайными числами).
- Переменной sum изначально присваиваем значение 0.
- Вычисляем сумму элементов, в цикле перебирая массив и добавляя значение каждого к переменной sum.
- Находим среднее арифметическое путем деления суммы на количество элементов (хранится в константе N).
- Выводим на экран весь массив и найденное среднее значение. (Это не обязательно, но необходимо для удобства.)
- Снова в цикле перебираем массив. Если очередной элемент больше среднего арифметического, то выводим этот элемент на экран.
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.
Пример выполнения программы:
34 27 47 46 15 36 3 6 39 38
Среднее арифметическое: 29.10
34 47 46 36 39 38
Пример решения похожей задачи в сообществе VK: С клавиатуры вводится натуральное число n. За ним последовательно вводятся данные о росте n учащихся класса. Определите средний рост учащихся всего класса. Решить задачу без использования массивов.