Код и результат выполнения на скриншотах.
<u>1. Современный вариант</u>
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
begin
var a:=ArrRandom(10,1,50); a.Println;
Writeln('Ср.арифм.нечетных=',a.Where(x->x.IsOdd).Average)
end.
<u><em>Тестовое решение:</em></u>
43 47 37 17 1 39 47 46 3 34
Ср.арифм.нечетных=29.25
<u>2. Школьный вариант</u>
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
const
n=10;
var
a:array[1..n] of integer;
i,s,k:integer;
begin
Randomize;
k:=0; s:=0;
for i:=1 to n do begin
a[i]:=Random(50)+1;
Write(a[i],' ');
if Odd(a[i]) then begin
s:=s+a[i]; Inc(k)
end
end;
Writeln;
Writeln('Ср.арифм.нечетных=',s/k)
end.
<u><em>Тестовое решение:</em></u>
22 46 37 36 23 30 18 19 15 12
Ср.арифм.нечетных=23.5
Var
a: array[1..10] of integer;
m, i,s: integer;
begin
randomize;
for i := 1 to 10 do
begin
a[i] := random(+10) + 1;
if a[i] > m then m := a[i];
end;
for i := 1 to 10 do
begin
if a[i]=m then s:=s+1;
end;
writeln(s);
end.