Помогите, не могу понять, как повернуть матрицу ** 90 градус. Сформировать матрицу 4*4,...

0 голосов
44 просмотров

Помогите, не могу понять, как повернуть матрицу на 90 градус.
Сформировать матрицу 4*4, рандомно заполнить, вывести исходную матрицу, а затем повернуть её на 90 градусов и снова вывести. на языке Pascal


Информатика (107 баллов) | 44 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const n=4;
var 
a:array[1..n,1..n] of integer;
i,j,b:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:4);
  end;
  writeln;
 end;
for i:=1 to n div 2 do
 for j:=i to n-i do
  begin
    b:=a[i,j];
    a[i,j]:=a[n-j+1,i];
    a[n-j+1,i]:=a[n-i+1,n-j+1];
    a[n-i+1,n-j+1]:=a[j,n-i+1];
    a[j,n-i+1]:=b;
  end;
writeln('Полученный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end.

Пример:
Исходный массив:
  57  32  69  17
  87  33  85  22
  89  80  59  13
  60  93  96  56
Полученный массив:
  60  89  87  57
  93  80  33  32
  96  59  85  69
  56  13  22  17

(194k баллов)