Заменить все отрицательные элементы матрицы на максимальные значения. Помоги составить в паскале
Заменить все отрицательные элементы матрицы на максимальные значения. Помоги составить в паскале
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
procedure 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]:=value
end;
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
Не нашли ответ?
Похожие вопросы