1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.7 Упр.3 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 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]$$. В приведённой программе это проверяется через сравнение матрицы с её транспонированным видом.



Общая оценка
4.5 / 5
Другие учебники
Другие предметы