Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами- Pascal(Паскаль)

Модуль

unit dvum;
interface
const n=4;
      k=5;
type mass=array [1..n,1..k] of integer;
Procedure sozd (var a:mass);
procedure vivod(a:mass);
implementation
Procedure sozd(var a:mass );
Var i,j:integer;
begin
for i:=1 to n do
 begin
  for j:=1 to k do
   begin
    a[i,j]:=random(200);
    write(a[i,j]:4);
   end;
  writeln
 end;
writeln;
end;
procedure vivod(a:mass);
var i,j:integer;
begin
for i:=1 to n do
 begin
  for j:=1 to k do
  write(a[i,j]:4);
  writeln
 end;
end;
 
end.

Программа

uses crt,dvum;
var i,j,h,g,f1,f2,s1,s2:integer;
    a:mass; //тип уже объявлен в модуле
begin
clrscr;
randomize;
sozd (a);
h:=a[1,1];
g:=a[1,1];
f1:=1;
f2:=1;
s1:=1;
s2:=1;
for i:=1 to n do
for j:=1 to k do
 begin
  if a[i,j]>h then
   begin
    h:=a[i,j];
    f1:=i;
    f2:=j;
   end;
  if a[i,j]<g then
   begin
    g:=a[i,j];
    s1:=i;
    s2:=j;
   end;
 end;
writeln('max=',h,' [',f1,',',f2,']');
writeln('min=',g,' [',s1,',',s2,']');
a[f1,f2]:=g;
a[s1,s2]:=h;
writeln;
vivod(a);
readln;
end.

Leave a Comment

− 1 = 3