Сформировать из одной матрицы другую, поменяв местами элементы, симметричные относительно главной диагонали - Turbo Pascal

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

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

Квадратный массив С(m,n) преобразовать в массив D(m,n), в котором элементы массива C поменяются местами симметрично относительно главной диагонали.

Решение задачи: «Сформировать из одной матрицы другую, поменяв местами элементы, симметричные относительно главной диагонали»

textual
Листинг программы
uses crt;
type mas=array[1..100,1..100] of integer;
var
   i,j,n  : integer;
   c,d      : mas;
begin
clrscr;
write('ââåäèòå Г°Г*çìåðГ*îñòü Г¬Г*Г±Г±ГЁГўГ*: ');
readln(n);
writeln('Г¬Г*Г±Г±ГЁГў c:');
for i:=1 to n do
begin
     for j:=1 to n do begin
         c[i,j]:=random(10);
         write(c[i,j]:4);
     end;
     writeln;
end;
writeln('*********************************************');
writeln('Г¬Г*Г±Г±ГЁГў d:');
for i:=1 to n do
     for j:=i to n do begin
         d[i,j] := c[j, i];
         d[j,i]:=c[i, j];
         if i = j then d[i,j]:=c[i, j];
     end;
for i:=1 to n do
begin
     for j:=1 to n do write(d[i,j]:4);
     writeln;
end;
end.

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

В данном коде используется язык программирования Turbo Pascal. Он предназначен для создания и выполнения программ на ПК. В первой строке подключается библиотека crt, которая содержит функции для работы с консолью. Далее определяется тип данных mas, который представляет собой массив целых чисел размером 100x100. Переменные i, j и n инициализируются значениями 1, 1 и 100 соответственно. Затем создаются две переменные c и d типа mas. В блоке for i:=1 до n do... выполняется итерация по строкам массива c от i до n. Внутри этого блока для каждой строки c[i,j] генерируется случайное число в диапазоне от 1 до 10 и записывается в соответствующую ячейку массива. После этого выполняется аналогичный блок for j:=i до n do..., но вместо i используется значение j. Это позволяет поменять местами элементы массива c, которые симметричны относительно главной диагонали. Далее выполняется еще один блок for i:=1 до n do... для каждой строки d[i,j] копируется значение c[j, i]. Если i равно j, то значение d[i,j] копируется из c[i, j]. Наконец, все значения массива d выводятся на экран. Код завершается командой end., после которой выполняются все оставшиеся инструкции программы.

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

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