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 a: array[1..n, 1..n] of integer; i, j: integer; HasNull: Boolean;
begin Randomize; writeln('Исходная матрица'); HasNull := False; for i := 1 to n do begin for j := 1 to n do begin a[i, j] := Random(100) - 50; if a[i, j] = 0 then HasNull := True; write(a[i, j]:5); end; writeln end; if HasNull then writeln('Матрица имеет нулевые элементы') else writeln('Матрица не имеет нулевых элементов') end.