Const mm=50; { максимально возможное кол-во строк } nn=50; { максимально возможное кол-во столбцов } var f:array[1..mm,1..nn] of integer; i,j,m,n,k,s:integer; begin Randomize; Write('Количество строк в массиве: '); Read(m); Write('Количество столбцов в массиве: '); Read(n); Writeln('*** Исходный массив ***'); for i:=1 to m do begin for j:=1 to n do begin f[i,j]:=Random(41)-20; { [-20;20] } Write(f[i,j]:4) end; Writeln end; Write('Количество положительных элементов, кратных 7: '); k:=0; for i:=1 to m do for j:=1 to n do if (f[i,j]>0) and (f[i,j] mod 7=0) then k:=k+1; Writeln(k); Write('Среднее арифметическое отрицательных элементов: '); k:=0; s:=0; for i:=1 to m do for j:=1 to n do if f[i,j]<0 then begin k:=k+1; s:=s+f[i,j] end; if k>0 then Writeln(s/k:0:5) else Writeln(0); Write('Минимальный элемент равен '); k:=100; for i:=1 to m do for j:=1 to n do if f[i,j]<k then k:=f[i,j]; Write(k,', индексы:'); for i:=1 to m do for j:=1 to n do if f[i,j]=k then Write(' [',i,',',j,']'); Writeln; Write('Максимальный элемент среди отрицательных равен '); k:=-100; for i:=1 to m do for j:=1 to n do if (f[i,j]>k) and (f[i,j]<0) then k:=f[i,j]; Write(k,', индексы:'); for i:=1 to m do for j:=1 to n do if f[i,j]=k then Write(' [',i,',',j,']'); Writeln; end.
Пример Количество строк в массиве: 5 Количество столбцов в массиве: 8 *** Исходный массив *** -4 11 -5 -12 7 16 -10 6 8 -3 -12 -16 15 2 -2 -6 16 8 18 0 -10 8 18 7 17 7 -14 -4 -1 -8 13 -1 3 -18 16 -10 4 -17 19 -18 Количество положительных элементов, кратных 7: 3 Среднее арифметическое отрицательных элементов: -9.00000 Минимальный элемент равен -18, индексы: [5,2] [5,8] Максимальный элемент среди отрицательных равен -1, индексы: [4,5] [4,8]
mm=50; { максимально возможное кол-во строк }
nn=50; { максимально возможное кол-во столбцов }
var
f:array[1..mm,1..nn] of integer;
i,j,m,n,k,s:integer;
begin
Randomize;
Write('Количество строк в массиве: '); Read(m);
Write('Количество столбцов в массиве: '); Read(n);
Writeln('*** Исходный массив ***');
for i:=1 to m do begin
for j:=1 to n do begin
f[i,j]:=Random(41)-20; { [-20;20] }
Write(f[i,j]:4)
end;
Writeln
end;
Write('Количество положительных элементов, кратных 7: ');
k:=0;
for i:=1 to m do
for j:=1 to n do
if (f[i,j]>0) and (f[i,j] mod 7=0) then k:=k+1;
Writeln(k);
Write('Среднее арифметическое отрицательных элементов: ');
k:=0; s:=0;
for i:=1 to m do
for j:=1 to n do
if f[i,j]<0 then begin k:=k+1; s:=s+f[i,j] end;
if k>0 then Writeln(s/k:0:5)
else Writeln(0);
Write('Минимальный элемент равен ');
k:=100;
for i:=1 to m do
for j:=1 to n do
if f[i,j]<k then k:=f[i,j];
Write(k,', индексы:');
for i:=1 to m do
for j:=1 to n do
if f[i,j]=k then Write(' [',i,',',j,']');
Writeln;
Write('Максимальный элемент среди отрицательных равен ');
k:=-100;
for i:=1 to m do
for j:=1 to n do
if (f[i,j]>k) and (f[i,j]<0) then k:=f[i,j];
Write(k,', индексы:');
for i:=1 to m do
for j:=1 to n do
if f[i,j]=k then Write(' [',i,',',j,']');
Writeln;
end.
Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 8
*** Исходный массив ***
-4 11 -5 -12 7 16 -10 6
8 -3 -12 -16 15 2 -2 -6
16 8 18 0 -10 8 18 7
17 7 -14 -4 -1 -8 13 -1
3 -18 16 -10 4 -17 19 -18
Количество положительных элементов, кратных 7: 3
Среднее арифметическое отрицательных элементов: -9.00000
Минимальный элемент равен -18, индексы: [5,2] [5,8]
Максимальный элемент среди отрицательных равен -1, индексы: [4,5] [4,8]
//Версия 3.3, сборка 1611 (06.01.2018)
begin
var a:=MatrRandom(4,5,-20,20).Println;
var c:=a.ElementsByRow;
Println('Кол-во положительных ->',c.Where(t->t>0).Count);
Println('Кол-во кратных 7 ->',c.Where(t->t mod 7=0).Count);
Println('Сред. арифм. отрицат. ->',c.Where(t->t<0).Average);
var b:=a.ElementsWithIndexes.MinBy(t->t[0]);
Writeln('Минимальный ->', b[0],'[',b[1]+1,',',b[2]+1,']');
b:=a.ElementsWithIndexes.Where(t->t[0]<0).MaxBy(t->t[0]);
Writeln('Максимальный отриц. ->', b[0],'[',b[1]+1,',',b[2]+1,']');
end.
Пример:
-10 6 12 7 4
-8 -4 3 -1 6
9 -2 16 19 -18
18 4 -3 12 -8
Кол-во положительных -> 12
Кол-во кратных 7 -> 1
Сред. арифм. отрицат. -> -6.75
Минимальный ->-18[3,5]
Максимальный отриц. ->-1[2,4]