В двумерном массиве, который имеет одинаковое количество столбцов и строк, поменять местами элементы, расположенные симметрично относительно главной диагонали — Pascal(Паскаль)

program Matrix;
 
var
   a : array[1..5,1..5] of integer;
 
procedure fill;
var
   i, j : byte;
begin
     for i:=1 to 5 do
         for j:=1 to 5 do
             a[i,j] := random(10);
end;
 
procedure swap;
var
   i, j : byte;
   tmp : integer;
begin
     for i := 1 to 5 do begin
         for j := 1 to i do begin
             tmp := a[i,j];
             a[i,j] := a[j,i];
             a[j,i] := tmp;
         end;
     end;
end;
 
procedure show;
var
   i,j : byte;
begin
     WriteLn('Matrix:');
     for i := 1 to 5 do begin
         for j := 1 to 5 do begin
             Write(a[i,j]:4);
         end;
         WriteLn;
     end;
end;
 
begin
     fill;
     show;
     swap;
     show;
end.

Leave a Comment

34 + = 41