Определить, является ли заданная целая квадратная матрица 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.
Объяснение кода листинга программы
- const mn = 100; — задаем значение константы mn
- var
- a: array [1..mn,1..mn] of Integer; — объявляем переменную a типа array, которая будет представлять квадратную матрицу порядка mn
- i, j, n: Integer; — объявляем три переменные типа Integer: i, j и n
- repeat Write('n: '); ReadLn(n) until n in [2..mn]; — считываем значение переменной n и повторяем операцию до тех пор, пока n не будет в диапазоне от 2 до mn
- for i := 1 to n do for j := 1 to n do Read(a[i,j]); ReadLn; — считываем значения элементов матрицы a[i,j] для всех i и j от 1 до n
- 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.