Оригинал статьи: http://www.cyberforum.ru/pascal/thread133142.html
Благодарен всем авторам, которые внесли свой вклад в сборку кода.
Главная диагональ
const n=100; var mas: array[1..n,1..n] of integer; i,j,l: byte; prom: integer; begin randomize; {процедура инициализации генератора случайных чисел} write('Введите размерность матрицы: '); {ввод размеров матрицы} readln(l); writeln; writeln('Исходная матрица: '); {вывод исходной матрицы на экран} for i:=1 to l do begin for j:=1 to l do begin mas[i,j]:=random(19); mas[i,j]:=mas[i,j]-9; write(mas[i,j]:3); end; writeln; end; writeln; for i:=2 to l do {сам процесс транспонирования} for j:=1 to i-1 do begin prom:=mas[i,j]; mas[i,j]:=mas[j,i]; mas[j,i]:=prom; end; writeln('Результат транспонирования: '); {вывод матрицы после преобразований} for i:=1 to l do begin for j:=1 to l do write(mas[i,j]:3); writeln; end; end.
Вторичная диагональ:
const n=100; var mas: array[1..n,1..n] of integer; i,j,l: byte; prom: integer; begin randomize; {процедура инициализации генератора случайных чисел} write('Введите размер матрицы: '); {ввод размеров матрицы} readln(l); writeln; writeln('Исходная матрица: '); {вывод исходной матрицы на экран} for i:=1 to l do begin for j:=1 to l do begin mas[i,j]:=random(19); mas[i,j]:=mas[i,j]-9; write(mas[i,j]:3); end; writeln; end; writeln; for i:=1 to l-1 do {сам процесс транспонирования} for j:=l-i downto 1 do begin prom:=mas[i,j]; mas[i,j]:=mas[l-j+1,l-i+1]; mas[l-j+1,l-i+1]:=prom; end; writeln('Результат транспонирования: '); {вывод матрицы после преобразований} for i:=1 to l do begin for j:=1 to l do write(mas[i,j]:3); writeln; end; end.