Определить, является ли заданная целая квадратная матрица n-го порядка симметричной (относительно главной диагонали) - Turbo Pascal
Формулировка задачи:
8. Определить, является ли заданная целая квадратная матрица n-го порядка симметричной (относительно главной диагонали). Блок схема
Решение задачи: «Определить, является ли заданная целая квадратная матрица n-го порядка симметричной (относительно главной диагонали)»
textual
Листинг программы
program prim1; uses crt; type mas=array[1..100,1..100] of integer; var i,j,n,s: integer; var a,b: mas; begin clrscr; write('n='); readln(n); for i:=1 to n do begin for j:=1 to n do begin readln(a[i,j]); end; end; for j:=1 to n do begin for i:=1 to n do begin b[j,i]:=a[i,j]; write(b[j,i]); end; END; s:=0; i:=j; for i:=1 to n do begin for j:=1 to n do begin if a[i,j]<>b[i,j] then s:=s+1; end; end; if s>0 then write('НЕТ') else write('ДА, является симметричной'); end.
Объяснение кода листинга программы
- Создается программа
prim1
, которая использует библиотеку crt. - Определяется тип данных
mas
, который представляет собой массив целых чисел размером от 1 до 100 в каждой из двух осей. - Объявляются переменные
i
,j
,n
иs
, которые будут использоваться в программе. - Объявляются переменные
a
иb
, которые будут представлять собой матрицы размером n x n, заполняемые значениями с помощью цикла. - Выводится сообщение
n=
, после чего считывается значение переменнойn
с помощью функции readln. - Запускается цикл, в котором считываются значения элементов матрицы
a
. - Запускается вложенный цикл, в котором вычисляется значение элемента матрицы
b
и выводится его значение с помощью функции write. - Проверяется условие, что все элементы матрицы
a
равны элементам матрицыb
. Если это условие выполняется, то выводится сообщениеДА, является симметричной
, иначе выводится сообщениеНЕТ
. - Программа завершается.