program Ex1; const nn=100; { ограничение на длину массива } var i,n,s,k:integer; a:array[1..nn] of integer; begin Randomize; Write('n='); Read(n); k:=0; for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' '); if a[i]>0 then begin k:=k+1; s:=s+a[i] end end; Writeln; Writeln('Среднее положительных ',s/k) end.
program Ex2; const nn=100; { ограничение на длину массива } var i,n,min:integer; a:array[1..nn] of integer; begin Randomize; Write('n='); Read(n); min:=100; { больше максимально возможного } for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' '); if a[i]<min then min:=a[i] end; Writeln; Writeln('Минимум ',min) end.
Выводы о том, чему и как учат в школе, делайте самостоятельно...
Const nn=50; { ограничение на длину строки/столбца } var i,j,m,n,k,s:integer; a:array[1..nn,1..nn] of integer; begin Randomize; Write('Количество строк в массиве '); Read(m); Write('Количество столбцов в массиве '); Read(n); s:=0; k:=0; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(101)-50; Write(a[i,j]:4); if a[i,j]>0 then begin s:=s+a[i,j]; k:=k+1 end end; Writeln end; Writeln('Ср. арифметическое положительных ',s/k) end.
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
Writeln('Среднее положительных ',a.Where(x->x>0).Average);
Writeln('Минимум ',a.Min)
end.
Пример
n= 15
35 27 -7 -1 20 13 6 50 -9 23 -38 46 30 27 14
Среднее положительных 26.4545454545455
Минимум -38
2. Школьный вариант на древних версиях
program Ex1;
const
nn=100; { ограничение на длину массива }
var
i,n,s,k:integer;
a:array[1..nn] of integer;
begin
Randomize;
Write('n='); Read(n);
k:=0;
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ');
if a[i]>0 then begin
k:=k+1; s:=s+a[i]
end
end;
Writeln;
Writeln('Среднее положительных ',s/k)
end.
program Ex2;
const
nn=100; { ограничение на длину массива }
var
i,n,min:integer;
a:array[1..nn] of integer;
begin
Randomize;
Write('n='); Read(n);
min:=100; { больше максимально возможного }
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ');
if a[i]<min then min:=a[i]
end;
Writeln;
Writeln('Минимум ',min)
end.
Выводы о том, чему и как учат в школе, делайте самостоятельно...
nn=50; { ограничение на длину строки/столбца }
var
i,j,m,n,k,s:integer;
a:array[1..nn,1..nn] of integer;
begin
Randomize;
Write('Количество строк в массиве '); Read(m);
Write('Количество столбцов в массиве '); Read(n);
s:=0;
k:=0;
for i:=1 to m do begin
for j:=1 to n do begin
a[i,j]:=Random(101)-50;
Write(a[i,j]:4);
if a[i,j]>0 then begin
s:=s+a[i,j];
k:=k+1
end
end;
Writeln
end;
Writeln('Ср. арифметическое положительных ',s/k)
end.
Пример
Количество строк в массиве 8
Количество столбцов в массиве 11
-11 27 -22 46 -34 -36 10 39 -5 15 -46
46 -48 -42 50 -14 12 -23 -29 -2 8 16
-18 -5 -31 21 -28 -38 20 33 9 24 4
43 18 9 -44 -22 25 37 39 -48 -16 -15
-15 12 46 49 12 -50 -10 42 47 46 33
23 -5 34 26 -5 42 -2 -32 12 -44 -19
-8 -41 -9 -9 -20 -16 3 -15 9 5 -19
47 -40 7 26 -26 0 20 -8 18 27 9
Ср. арифметическое положительных 25.4666666666667