Поменять местами соответствующие элементы двух двумерных массивов. Максимальные элементы и им соответствующие местами не менять

code: #pascal
Program fh;
type matr=array[1..50,1..50] of integer;
var mas,mas2:matr;
    n,m:integer;
    i,j,r1,r2:integer;
 
 
procedure exchange(var a,b:integer);
var c:integer;
begin
c:=a; a:=b; b:=c; end;
 
Procedure www(X :matr; var r1,r2:integer);
Var
  i, j, max : integer;
Begin
max:= x[1,1]; r1:=1;r2:=1;
  for i:=1 to m do
    begin
      for j:=1 to n do
        if x[i,j]>max then
          begin
            max:=x[i,j];
            r1:=i; r2:=j;
          end;
    end;
 
     writeln(r1,r2);
End;
 
begin
writeln ('Vvedite razmer massiva A');
write ('Vvedite kol-vo strok (M) v massive A: '); read (m);
write ('Vvedite kol-vo stolbcov (N) v massive A: ');  read (n);
for i:=1 to m do
for j:=1 to n do begin write ('A[',i,',',j,']='); readln (mas[i,j]); end;
write ('Vot vvedennyy vami massiv A- ');
for i:=1 to m do begin writeln;
for j:=1 to n do write (mas[i,j]:3,' '); end;   writeln;
{******************************b*************************************************}
writeln ('Vvedite razmer massiva B');
write ('Vvedite kol-vo strok (M) v massive B: '); read (m);
write ('Vvedite kol-vo stolbcov (N) v massive B: ');  read (n);
for i:=1 to m do
for j:=1 to n do begin write ('B[',i,',',j,']='); readln (mas2[i,j]); end;
write ('Vot vvedennyy vami massiv B- ');
for i:=1 to m do begin writeln;
for j:=1 to n do write (mas2[i,j]:3,' '); end;   writeln; writeln;
writeln('______________________________________________________');
 
www(mas,i,j);
www(mas2,r1,r2);
exchange(mas[i,j],mas2[r1,r2]);
 
write ('Vot ICXODNII (zamenennii) massiv A- ');
for i:=1 to m do begin writeln;
for j:=1 to n do write (mas[i,j]:3,' '); end;   writeln;
 
write ('Vot ICXODNII (zamenennii) massiv B- ');
for i:=1 to m do begin writeln;
for j:=1 to n do write (mas2[i,j]:3,' '); end;
 
readln;  readln;
end.      
Поделиться:

Похожие статьи: