Сгенерировать случайным образом массив целых чисел в диапазоне от -75 до 45 и вывести на экран. Вычислить строки с максимальными и минимальными элементами и поменять эти строки местами, вывести массив результат на экран — Pascal(Паскаль)

uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    m,n,i,j,imn,imx:byte;
    mn,mx,x: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('Исходная матрица:');
mx:=-76;mn:=46;
imx:=0;imn:=0;
for i:=1 to n do
 begin
   for j:=1 to m do
    begin
     a[i,j]:=random(121)-75;
     write(a[i,j]:5);
     if a[i,j]<mn then
      begin
       mn:=a[i,j];
       imn:=i;
      end;
     if a[i,j]>mx then
      begin
       mx:=a[i,j];
       imx:=i;
      end;
    end;
   writeln;
 end;
writeln;
writeln('Минимальный  элемент=',mn:3,' в строке ',imn);
writeln('Максимальный элемент=',mx:3,' в строке ',imx);
if imn=imx then write('Максимальный и минимальный элементы в одной строке!')
else
 begin
  writeln('Обмен строк ',imn,' и ',imx);
  for j:=1 to m do
   begin
    x:=a[imn,j];
    a[imn,j]:=a[imx,j];
    a[imx,j]:=x;
   end;
  for i:=1 to n do
   begin
    for j:=1 to m do
    write(a[i,j]:5);
    writeln;
   end;
 end;
readln
end.

Leave a Comment

− 4 = 6