Заполнение матрицы осуществляется посредством генератора случайных чисел
а) главная диагональ:
{транспонирование матрицы относительно главной диагонали}
uses crt;
const n=100;
var mas: array[1..n,1..n] of integer;
i,j,l: byte; prom: integer;
begin
randomize; {процедура инициализации генератора случайных чисел}
clrscr;
write('введите размер матрицы: '); {ввод размеров матрицы}
readln(l);
writeln;
writeln('исходная матрица: ',^j); {вывод исходной матрицы на экран}
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('результат транспонирования: ',^j); {вывод матрицы после преобразований}
for i:=1 to l do
begin
for j:=1 to l do
write(mas[i,j]:3);
writeln;
end;
end.
б) побочная диагональ:
{транспонирование матрицы относительно побочной диагонали}
uses crt;
const n=100;
var mas: array[1..n,1..n] of integer;
i,j,l: byte; prom: integer;
begin
randomize; {процедура инициализации генератора случайных чисел}
clrscr;
write('введите размер матрицы: '); {ввод размеров матрицы}
readln(l);
writeln;
writeln('исходная матрица: ',^j); {вывод исходной матрицы на экран}
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('результат транспонирования: ',^j); {вывод матрицы после преобразований}
for i:=1 to l do
begin
for j:=1 to l do
write(mas[i,j]:3);
writeln;
end;
end.