Работа 3.7 Упр.3 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 3. Определить, является ли заданная целая квадратная матрица n-го порядка симметричной (относительно главной диагонали).
Проверим, совпадает ли матрица $$a$$ со своей транспонированной матрицей $$b$$, где $$b[j,i]=a[i,j]$$. Если для всех элементов выполняется $$a[i,j]=b[i,j]$$, то матрица симметрична относительно главной диагонали.
В программе сначала вводится матрица $$a$$, затем строится транспонированная матрица $$b$$. После этого подсчитывается количество несовпадающих элементов:
$$s=0$$
Если хотя бы одна пара элементов не совпала, то $$s>0$$ и матрица несимметрична. Если же $$s=0$$, то матрица симметрична.
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
for j:=1 to n do
readln(a[i,j]);
for j:=1 to n do
for i:=1 to n do
b[j,i]:=a[i,j];
s:=0;
for i:=1 to n do
for j:=1 to n do
if a[i,j]<>b[i,j] then s:=s+1;
if s>0 then write(‘НЕТ’) else write(‘ДА, является симметричной’);
end.
Можно и проще проверять только элементы выше главной диагонали: для всех $$i<j$$ должно выполняться $$a[i,j]=a[j,i]$$.
Ответ
Матрица является симметричной, если для всех $$i$$ и $$j$$ выполняется $$a[i,j]=a[j,i]$$. В приведённой программе это проверяется через сравнение матрицы с её транспонированным видом.