Паскаль Дана матрица (двумерный массив) размером 20 × 20. Каждый элемент может принимать...

0 голосов
54 просмотров

Паскаль
Дана матрица (двумерный массив) размером 20 × 20. Каждый элемент может принимать
целочисленные значения от 0 до 200. Опишите на русском языке или на одном из языков
программирования алгоритм, который позволяет определить, является ли данная матрица
симметричной относительно своей главной диагонали. Исходные данные объявлены так, как
показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не
использовать часть из них.
Паскаль Бейсик
const N=20;
var
a: array [0..N-1,0..N-1]
of integer;
i, j: integer;
begin
for i := 0 to N-1 do
for j := 0 to N-1 do
readln(a[i,j]);
...
end.


Информатика (20 баллов) | 54 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const N=20;
var
a: array [0..N-1,0..N-1] of integer;
i, j: integer;
begin
for i := 0 to N-1 do
 for j := 0 to N-1 do read(a[i,j]);
for i := 0 to N-1 do
 begin
 for j := 0 to N-1 do write(a[i,j],' ');
 writeln;
 end;
i:=0; j:=0;
while (i begin
 i:=i+1;
 j:=0;
 while (j end;
if a[i,j]=a[j,i] then writeln('Yes')
else writeln('No');
end.

Пример (для N=5):
1 2 3 4 5 
2 8 7 9 0 
3 7 4 3 1 
4 9 3 2 6 
5 0 1 6 8 
Yes

(194k баллов)
0

Можно было проще

0

for i := 0 to N - 1 do
for j := i to N - 1 do
if a[i, j] <> a[j, i] then begin
writeln(false);
Halt;
end;

writeln(true);