Сформировать из одной матрицы другую, поменяв местами элементы, симметричные относительно главной диагонали - Turbo Pascal
Формулировка задачи:
Решение задачи: «Сформировать из одной матрицы другую, поменяв местами элементы, симметричные относительно главной диагонали»
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., после которой выполняются все оставшиеся инструкции программы.