Паскаль. Дана действительная матрица размера n×m, в которой есть хотя бы один ненулевой элемент. Получите новую матрицу путем деления всех элементов заданной на ее наибольший по абсолютной величине элемент
Const m = 5; n = 4; Var A: array[1..m, 1..n] of real; i, j: integer; max: real; Begin for i := 1 to m do begin writeln(); for j := 1 to n do begin A[i,j] := random(200) - 100; write(A[i,j]:5, ' ');
if ((i=1) and (j=1)) or (max < abs(A[i,j])) then max:=abs(A[i,j]); end; end;
writeln(); writeln('Max = ', max);
for i := 1 to m do begin writeln(); for j := 1 to n do begin A[i,j] := A[i,j] / max; write(A[i,j]:5:2, ' '); end; end; End.
Answers & Comments
Verified answer
Constm = 5;
n = 4;
Var
A: array[1..m, 1..n] of real;
i, j: integer;
max: real;
Begin
for i := 1 to m do begin
writeln();
for j := 1 to n do begin
A[i,j] := random(200) - 100;
write(A[i,j]:5, ' ');
if ((i=1) and (j=1)) or (max < abs(A[i,j])) then
max:=abs(A[i,j]);
end;
end;
writeln();
writeln('Max = ', max);
for i := 1 to m do begin
writeln();
for j := 1 to n do begin
A[i,j] := A[i,j] / max;
write(A[i,j]:5:2, ' ');
end;
end;
End.