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

var
  i, j, r: integer;
  a: array [1 .. 8, 1 .. 8] of integer;
  b1: array [1 .. 8] of integer;
  b2: array [1 .. 8] of integer;

begin
  randomize;
  for i := 1 to 8 do
    for j := 1 to 8 do
    begin
      a[i, j] := random(90);
      b1[i] := a[i, i];
      b2[i] := a[i, 8 - i + 1];
    end;
  writeln('массив');
  for i := 1 to 8 do
  begin
    for j := 1 to 8 do
      write(a[i, j]:3);
    writeln;
  end;
  for i := 1 to 8 div 2 do
  begin
    r := b1[i];
    b1[i] := b1[8 - i + 1];
    b1[8 - i + 1] := r;
  end;
  for i := 1 to 8 div 2 do
  begin
    r := b2[i];
    b2[i] := b2[8 - i + 1];
    b2[8 - i + 1] := r;
  end;
  writeln('новый массив');
  for i := 1 to 8 do
  begin
    for j := 1 to 8 do
    begin
      a[i, i] := b2[i];
      a[i, 8 - i + 1] := b1[i];
      write(a[i, j]:3);
    end;
    writeln;
  end;
  readln;

end.

Leave a Comment

8 + 2 =