Написать программу, которая: 1) сформируем массив Аnn из целых чисел. 2) отразит(перевернет) зеркально этот массив относительно дополнительной диагонали — Pascal(Паскаль)

const WG=30;
type tmatr=array[1..WG,1..WG] of real;
var a:tmatr; n,m:byte;
(*прцедура ввода элементов матрицы*)
procedure pr_wod_matr(var n1,m1:byte; var mas:tmatr);
var i,j:byte; kl:byte;
begin
  writeln('Введи размерность матрицы n,m');
  readln(n1,m1);
  writeln('1-ввод случайным образом, 2-ввод с клавиатуры');
  readln(kl);
  if kl=1 then randomize;
  for i:=1 to n1 do
   for j:=1 to m1 do
    case kl of
    1:mas[i,j]:=random(300);
    2:begin
        writeln('Введи элемент',i,' строки ',j,' столбца матрицы');
        readln(mas[i,j]);
      end;
  end;
end;
(*процедура вывода элементов матрицы*)
procedure pr_out_matr(n1,m1:byte; mas:tmatr);
var i,j:byte;
begin
   writeln('Матрица');
   for i:=1 to n1 do
   begin
     for j:=1 to m1 do
     write(mas[i,j]:8:2);
     writeln;
   end;
end;
procedure pr_swap(var a,b:real);
begin
  a:=a+b;
  b:=a-b;
  a:=a-b;
end;
(*процедура перестановки элементов матрицы побочной диагонали*)
procedure pr_diagonal(n,m:byte;var a:tmatr);
var i,j:byte;
begin
    for i:=1 to n do
      for j:=1 to m do
      if (j+i<=n) then pr_swap(a[i,j],a[n-j+1,n-i+1]);
end;
begin
  pr_wod_matr(n,m,a);
  pr_out_matr(n,m,a);
  pr_diagonal(n,m,a);
  pr_out_matr(n,m,a);
end.

Leave a Comment

39 − = 32