Дана матрица размера 5х10. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке — Pascal(Паскаль)

program matr;
const n=4; m=4;   {задаем размеры}
var i,j:integer;
    a:array[1..n,1..m] of integer;
    max,min,p,maxi,maxj,mini,minj:integer;
begin
writeln('введите матрицу');
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
 
max:=-32768;  {задаем значения максимуму и миниму, т.к. ищем на каждой строке }
min:=32767;
 
for i:=1 to n do
begin
 for j:=1 to m do
 begin
  if a[i,j]>max then   {условия поиска максимума}
   begin
    max:=a[i,j];
    maxi:=i;          {запоминаем индексы максимума}
    maxj:=j;
   end;
  if a[i,j]<min then { условия поиска минимума}
   begin
    min:=a[i,j];
    mini:=i;      {запоминаем идексы минимума}
    minj:=j;
   end;
 end;
p:=a[maxi,maxj];       {меняем местами максимум с минимумом}
a[maxi,maxj]:=a[mini,minj];
a[mini,minj]:=p;
max:=-32768;      {обнуляем значения макс и мин, дабы они находились в новой строке}
min:=32767;
end;
{выводим}
for i:=1 to n do        
begin
for j:=1 to m do
write(a[i,j]:2,' ');
writeln;
end;
end.

Leave a Comment

26 − = 19