Помогите, не могу понять, как повернуть матрицу на 90 градус.
Сформировать матрицу 4*4, рандомно заполнить, вывести исходную матрицу, а затем повернуть её на 90 градусов и снова вывести. на языке Pascal
Ответы
Ответ дал:
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
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
Вас заинтересует
1 год назад
1 год назад
6 лет назад
6 лет назад
8 лет назад
9 лет назад