Напишите программный код для решения задачи: ввести массив действительных чисел с клавиатуры и вывести его на экран (с цикла for) с указанием номера элемента; размер массива ввести с клавиатуры.
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.
Выводы о том, чему и как учат в школе, делайте самостоятельно...
```
var a:array[1..100,1..100]of integer;
N, M, i, j, mini, minj, maxi, maxj :integer;
begin
write('N, M -> ');
readln(N, M); {считываем размер матрицы}
write('Input matrix -> ');
for i:=1 to N do for j:=1 to M do
begin
write('A[',i,',',j,'] -> ');
readln(a[i, j]);
end; {считываем саму матрицу}
readln;
mini:=1;
minj:=1;
maxi:=2;
maxj:=2;
for i:=1 to N do for j:=1 to M do if a[i,j] > a[maxi, maxj] then
begin
maxi := i;
maxj := j;
end else if a[i, j] < a[mini, minj] then
begin
mini := i;
minj := j;
end;
writeln('MAX = A[',maxi,',',maxj,'] = ', a[maxi, maxj]);
writeln('MIN = A[',mini,',',minj,'] = ', a[mini, minj]);
readln;
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.
Выводы о том, чему и как учат в школе, делайте самостоятельно...