const nn=20; { указать максимально возможный размер } var a:array[1..nn,1..nn] of integer; n,i,j,mx,k:integer; begin Randomize; Write('n='); Read(n); mx:=-20; { меньше минимально возможного } for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(21)-10; Write(a[i,j]:4); if a[i,j]>mx then begin mx:=a[i,j]; k:=1 end else if a[i,j]=mx then Inc(k) end; Writeln; end; Writeln('Максимальное значение ',mx,' встречается ',k,' раз(а)') end.
2. Решение на основе базовых возможностей PascalABC.Net 3.2
var a:array[,] of integer; begin Randomize; var n:=ReadInteger('n='); SetLength(a,n,n); var mx:=-20; // меньше минимально возможного var k:integer; for var i:=0 to n-1 do begin for var j:=0 to n-1 do begin a[i,j]:=Random(-10,10); Write(a[i,j]:4); if a[i,j]>mx then begin mx:=a[i,j]; k:=1 end else if a[i,j]=mx then Inc(k) end; Writeln; end; Writeln('Максимальное значение ',mx,' встречается ',k,' раз(а)') end.
var
arr: array[1..5] of array[1..5] of integer;
max, nmax: integer;
begin
randomize;
{Формирование массива}
for var i := 1 to 5 do
for var j := 1 to 5 do
arr[i][j] := random(20) - 10;
{Показ массива}
for var i := 1 to 5 do
for var j := 1 to 5 do
write(arr[i][j], ' ');
writeln();
{Поиск максимального элемента}
max := arr[1][1];
for var i := 1 to 5 do
for var j := 1 to 5 do
if (max <= arr[i][j]) then max := arr[i][j];
{Подсчет максимальных элементов}
nmax := 0;
for var i := 1 to 5 do
for var j := 1 to 5 do
if (arr[i][j] = max) then nmax := nmax + 1;
writeln('Максимальный элемент: ', max);
writeln('Количество таких элементов: ', nmax);
end.