Матрицу NxN повернуть (без использования вспомогательных массивов) на 180 градусов — Pascal(Паскаль)

program PascalGuru;

var
  A: array [1 .. 50, 1 .. 50] of integer;
  i, j, n, k: integer;

procedure exchange(var A, b: integer);
var
  c: integer;
begin
  c := A;
  A := b;
  b := c;
end;

{ ------------------------------------------- }
begin
  write('N= ');
  readln(n);

  for i := 1 to n do
    for j := 1 to n do
    begin
      write('A[', i, ',', j, ']=');
      readln(A[i, j]);
    end;

  for i := 1 to n do
  begin
    writeln;
    for j := 1 to n do
      write(A[i, j]:8);
  end;
  { ****************************************** }

  k := n * n;
  for i := 2 to k do
    for j := 1 to i - 1 do
      exchange(A[i, j], A[j, i]);

  writeln;
  writeln;
  writeln('Perevernutaya:');

  for i := 1 to n do
  begin
    writeln;
    for j := 1 to n do
      write(A[i, j]:8);
  end;

  readln;

end.

Leave a Comment

− 5 = 3