Массив (поменять местами две части) - Pascal ABC
Формулировка задачи:
Дано двумерный массив [10] [10] поменять местами две части как рисунке найти их сумму
вот фото
Решение задачи: «Массив (поменять местами две части)»
textual
Листинг программы
const n=10; var a:array[1..n,1..n] of integer; i,j,x:integer; begin randomize; writeln('Исходная матрица'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=10+random(90); write(a[i,j]:3); end; writeln; end; for i:=1 to n do for j:=1 to n div 2 do if(j<=i)and(j<=n-i+1) then begin x:=a[i,j]; a[i,j]:=a[i,n-j+1]; a[i,n-j+1]:=x; end; writeln('Перестановка'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3); writeln; end; end.
Объяснение кода листинга программы
- Объявляются константы и переменные: — n = 10 (размер матрицы) — a = array[1..n,1..n] of integer (двумерный массив, размерностью n на n, заполненный случайными числами от 10 до 99) — i, j, x = integer (переменные для цикла)
- Выводится исходная матрица (первым циклом выводятся строки, вторым — столбцы, третьим — значения ячеек матрицы).
- Производится перестановка (если элемент в верхнем левом квадранте больше элемента в правом нижнем, то они меняются местами).
- Выводится измененная матрица (как и в первом выводе, первым циклом выводятся строки, вторым — столбцы, третьим — значения ячеек матрицы).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д