Задание:
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит среднее арифметическое всех элементов массива, имеющих нечётное значение. Гарантируется, что хотя бы один такое элемент в массиве есть.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
Паскаль:
const N=30;
var a: array [1..N] of integer;
i, x, y: integer;
s: real;
begin
for i:=1 to N do readln(a[i]);
...
end.
Решение:
Недостающий фрагмент:
x:=0; y:=0;
for i:=1 to N do
if a[i] mod 2 = 1 then begin
x:=x + 1;
y:= y + A[i];
end;
s:= y/x;
writeln(s);
Разбор программы:
* Среднее арифметическое равняется делению общей суммы на общее количество элементов.
* В переменной X программа будет считать количество нечетных элементов массива. В переменной Y - сумму нечетных элементов. Изначально они равны нулю.
* В цикле из 30 элементов с помощью условия считаем количество нечетных элементов и сумму.
* В переменной S запоминаем среднее арифметическое, то есть, как было сказано ранее - деление общей суммы таких элементов на общее количество.
* Вывод значения переменной S на экран.