Поменять местами элементы половин параллельных диагоналей матрицы над главной и под побочной диагоналями - Pascal (80219)

Узнай цену своей работы

Формулировка задачи:

Дан двумерный целочисленный массив. Нужно поменять друг с другом выделенные красным цветом диагонали(над половиной главной диагонали и под половиной побочной).

Решение задачи: «Поменять местами элементы половин параллельных диагоналей матрицы над главной и под побочной диагоналями»

textual
Листинг программы
procedure swp(var a, b: Integer); var t: Integer; begin t:=a; a:=b; b:=t; end;
const m=7; n=m;
var
  a: array [1..m,1..n] of Integer;
...
  i:=m div 2; if i>n then i:=n;
  for i:=i downto 1 do swp(a[i,1+i],a[1+m-i,1+i]);

Объяснение кода листинга программы

  1. Создается процедура под названием swp, принимающая два параметра a и b типа Integer и переменную t типа Integer.
  2. В теле процедуры значение переменной t присваивается переменной a, затем значение переменной b присваивается переменной a и, наконец, значение переменной t присваивается переменной b.
  3. Объявляются константы m и n, обе равные 7.
  4. Объявляется массив a размерностью m x n, элементы которого имеют тип Integer.
  5. Некоторый код, который не был представлен, затем инициализирует переменную i, присваивая ей значение меньшее из чисел m и n, деленное на 2.
  6. Если i больше n, то переменной i присваивается значение n.
  7. В цикле от i до 1 происходит вызов процедуры swp для элементов массива a с координатами [i, 1+i] и [1+m-i, 1+i]. Таким образом, данный код меняет местами элементы половин параллельных диагоналей матрицы над главной и под побочной диагоналями.

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы