Поменяйте местами элементы матрицы, стоящие на главной и побочной диагонали - 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
и размером матрицы. - После выполнения процедуры, выводится сообщение «Исходная матрица:».
- Выводится заполненная матрица в консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д