Нужно решить задачу на Pascal-е: На вход программы подаются значения элементов двумерного массива А(mxn) (m, n <= 20). Преобразовать массив, поменяв местами элементы первой строки с элементами последней, второй с предпоследней и т.д.(т.е. повернуть массив вокруг горизонтальной оси). Результат вывести на экран.
program SwapRows; const MAX = 20; var A: array[1..MAX, 1..MAX] of integer; m, n, i, j, tmp: integer; begin // Ввод размеров массива writeln('Введите количество строк и столбцов:'); readln(m, n); // Ввод элементов массива writeln('Введите элементы массива:'); for i := 1 to m do for j := 1 to n do read(A[i, j]); // Обмен значений строк for i := 1 to m div 2 do for j := 1 to n do begin tmp := A[i, j]; A[i, j] := A[m-i+1, j]; A[m-i+1, j] := tmp; end; // Вывод измененного массива writeln('Измененный массив:'); for i := 1 to m do begin for j := 1 to n do write(A[i, j], ' '); writeln; end; end.
Программа на Pascal для решения данной задачи:
program SwapRows;const
MAX = 20;
var
A: array[1..MAX, 1..MAX] of integer;
m, n, i, j, tmp: integer;
begin
// Ввод размеров массива
writeln('Введите количество строк и столбцов:');
readln(m, n);
// Ввод элементов массива
writeln('Введите элементы массива:');
for i := 1 to m do
for j := 1 to n do
read(A[i, j]);
// Обмен значений строк
for i := 1 to m div 2 do
for j := 1 to n do
begin
tmp := A[i, j];
A[i, j] := A[m-i+1, j];
A[m-i+1, j] := tmp;
end;
// Вывод измененного массива
writeln('Измененный массив:');
for i := 1 to m do
begin
for j := 1 to n do
write(A[i, j], ' ');
writeln;
end;
end.
Пример работы программы:
Введите количество строк и столбцов:3 4
Введите элементы массива:
1 2 3 4
5 6 7 8
9 10 11 12
Измененный массив:
9 10 11 12
5 6 7 8
1 2 3 4