// PascalABC.NET 3.1, сборка 1250 от 28.05.2016procedure MatPrint(a:array[,] of integer);begin for var i:=0 to Length(a,0)-1 do begin for var j:=0 to Length(a,1)-1 do Print(a[i,j]); Writeln end end;function MatMax(a:array[,] of integer):integer;begin Result:=-100; // мeньше меньшего в матрице for var i:=0 to Length(a,0)-1 do for var j:=0 to Length(a,1)-1 do if a[i,j]>Result then Result:=a[i,j]end;procedure MatReplaceNegative(a:array[,] of integer; value:integer);begin for var i:=0 to Length(a,0)-1 do for var j:=0 to Length(a,1)-1 do if a[i,j]<0 then a[i,j]:=valueend;begin var n,m:integer; Write('Задайте число строк и столбцов матрицы: '); Read(n,m); var a:=MatrixRandom(n,m,-99,99); Writeln('Исходная матрица'); MatPrint(a); var mx:=MatMax(a); MatReplaceNegative(a,mx); Writeln('Результирующая матрица'); MatPrint(a)end.
Тестовое решениеЗадайте число строк и столбцов матрицы: 5 8Исходная матрица24 34 -33 63 -39 -33 96 -65 77 -98 0 31 98 20 36 -59 78 23 10 -44 64 -15 36 -48 86 -99 -8 -4 -12 -65 14 86 -37 0 54 74 -85 -81 -5 -21 Результирующая матрица24 34 98 63 98 98 96 98 77 98 0 31 98 20 36 98 78 23 10 98 64 98 36 98 86 98 98 98 98 98 14 86 98 0 54 74 98 98 98 98