Поменяйте местами элементы матрицы, стоящие на главной и побочной диагонали - Turbo Pascal
Формулировка задачи:
Дан квадратный массив. Поменяйте местами элементы, стоящие на главной и побочной диагонали, при этом каждый элемент должен остаться в том же столбце (то есть в каждом столбце нужно поменять местами элемент на главной диагонали и на побочной диагонали).
Решение оформите в виде функции SwapDiagonals (A).
Примеры
входные данные
3
1 2 3
4 5 6
7 8 9
выходные данные
7 2 9
4 5 6
1 8 3
Решение задачи: «Поменяйте местами элементы матрицы, стоящие на главной и побочной диагонали»
textual
Листинг программы
uses crt; const nmax=20; type matr=array[1..nmax,1..nmax] of integer; procedure SwapDiagonals(var a:matr;n:byte); var i,j:byte; x:integer; begin for i:=1 to n do begin x:=a[i,i]; a[i,i]:=a[n-i+1,i]; a[n-i+1,i]:=x; end; writeln('Обмен диагошальных элементов'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end; var a:matr; n,i,j:integer; begin clrscr; randomize; repeat write('Размер матрицы от 2 до ',nmax,' n='); readln(n); until n in [2..nmax]; writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(50); write(a[i,j]:4); end; writeln; end; SwapDiagonals(a,n); readln end.
Объяснение кода листинга программы
- Создаётся тип данных
matr
, который представляет собой массив целых чисел размером от 1 до 20. - В процедуре
SwapDiagonals
используется переменнаяa
типаmatr
и один байтn
для определения размера матрицы. - Внутри цикла
for
происходит обмен элементов главной и побочной диагоналей матрицыa
. - После выполнения обмена, выводится сообщение «Обмен диагональных элементов» и происходит вывод элементов матрицы
a
в консоль. - Далее, создаётся переменная
a
типаmatr
и переменныеn
,i
иj
целого типа. - В цикле
repeat
считывается размер матрицы от пользователя. - В цикле
for
происходит заполнение матрицы случайными числами от 0 до 99. - После заполнения матрицы, вызывается процедура
SwapDiagonals
с переменнойa
и размером матрицы. - После выполнения процедуры, выводится сообщение «Исходная матрица:».
- Выводится заполненная матрица в консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д