Определить, является ли заданная целая квадратная матрица N-го порядка симметричной - Pascal (3936)

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

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

Определить, является ли заданная целая квадратная матрица N-го порядка симметричной (относительно главной диагонали). Используя двумерный массив. Заранее спасибо

Решение задачи: «Определить, является ли заданная целая квадратная матрица N-го порядка симметричной»

textual
Листинг программы
const mn=100;
var
  a: array [1..mn,1..mn] of Integer;
  i, j, n: Integer;
begin
  repeat Write('n: '); ReadLn(n) until n in [2..mn];
  for i:=1 to n do for j:=1 to n do Read(a[i,j]); ReadLn;
  for i:=1 to n do for j:=i+1 to n do
    if a[i,j]<>a[j,i] then begin
      WriteLn('Несимметричная'); Exit;
    end;
  WriteLn('Симметричная');
end.

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

  1. const mn = 100; — задаем значение константы mn
  2. var
  3. a: array [1..mn,1..mn] of Integer; — объявляем переменную a типа array, которая будет представлять квадратную матрицу порядка mn
  4. i, j, n: Integer; — объявляем три переменные типа Integer: i, j и n
  5. repeat Write('n: '); ReadLn(n) until n in [2..mn]; — считываем значение переменной n и повторяем операцию до тех пор, пока n не будет в диапазоне от 2 до mn
  6. for i := 1 to n do for j := 1 to n do Read(a[i,j]); ReadLn; — считываем значения элементов матрицы a[i,j] для всех i и j от 1 до n
  7. for i := 1 to n do for j := i+1 to n do
  8. if a[i,j] <> a[j,i] then begin
  9. WriteLn('Несимметричная');
  10. Exit;
  11. end;
  12. WriteLn('Симметричная');
  13. end.

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

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