Составить программу вывода элементов массива, которые меньше среднего арифметического.

герман136 герман136    2   29.04.2020 20:35    0

Ответы
АБН2014 АБН2014  14.10.2020 03:38

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. Массив перебирается в цикле, каждый элемент сравнивается с найденным средним значением. Если элемент меньше, то он выводится на экран (или сохраняется в другом массиве).

Скопировал с сайта сразу говорю.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика