Дан двумерный массив. Получить новый массив путем деления всех элементов строки на наименьший по модулю элемент строки. Если наименьший элемент некоторой строки равен 0, то элементы этой строки оставить без изменений — Pascal(Паскаль)

uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    b:array[1..nmax,1..nmax] of real;
    m,n,i,j,imn:byte;
    mn:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to m do
    begin
     a[i,j]:=random(10)-5;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
for i:=1 to n do
 begin
  mn:=abs(a[i,1]);imn:=1;
  for j:=1 to m do
  if abs(a[i,j])<mn then
   begin
    mn:=abs(a[i,j]);
    imn:=j;
   end;
  writeln('Минимальный по модулю в строке ',i,'=',a[i,imn]);
  for j:=1 to m do
  if a[i,imn]<>0 then b[i,j]:=a[i,j]/a[i,imn]
  else b[i,j]:=a[i,j];
 end;
writeln('Новый массив:');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(b[i,j]:4:1);
  writeln;
 end;
readln
end.

Leave a Comment

2 + 7 =