Симметрично отобразить строки матрицы - Pascal
Формулировка задачи:
симметрично отобразить относительно строки двумерный массив;
Повернуть на 90° матрицу n x n
Решение задачи: «Симметрично отобразить строки матрицы»
textual
Листинг программы
const n=9;
var a : array[1..n,1..n] of integer;
i,j,p,x : integer;
begin
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j] := 10*i+j;
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n div 2 do
for j:=1 to n do
begin
x:=a[i,j];
a[i,j]:=a[n-i+1,j];
a[n-i+1,j]:=x;
end;
writeln('Отражение по средней строке:');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Объяснение кода листинга программы
- Определение константы
nи переменныхa,i,j,p,xтипа integer. - Инициализация матрицы
aчислами от 11 до 99, каждая строка содержит числа 10*i + j. - Цикл для вывода исходной матрицы.
- Цикл, меняющий строки матрицы симметрично относительно центральной строки.
- Цикл для вывода отраженной матрицы.