РЕШАТЬ ЗАДАЧУ ЧЕРЕЗ PascalABC.net (СпАсИбО ВАМ заранее!!!)))
Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная диагональ — та, которая идёт из левого верхнего угла двумерного массива в правый нижний.
Входные данные
Программа получает на вход число n 100, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по n чисел, являющихся элементами массива.
Выходные данные
Программа должна выводить слово yes для симметричного массива и слово no для несимметричного.
Примеры
входные данные
3
0 1 2
1 5 3
2 3 4
выходные данные
yes
входные данные
3
0 0 0
0 0 0
1 0 0
выходные данные
no
Answers & Comments
Написано в PascalABC.NET но должно работать во всех Паскалях.
----------------------------
PROGRAM A20;
CONST
max = 100;
TYPE
matrix = array[1..max,1..max]of shortint;
VAR
ar:matrix;
num:byte;
i,j:byte;
a,b,c:byte;
q:boolean;
BEGIN
repeat
// num := 5;
write('Введите размер матрицы n=');
readln(num);
for i:=1 to num do begin
for j:=1 to num do
read(ar[i,j]);
end;
i:=1;//диагональ
q:=true;
while q and (i<num) do begin
j:= i+1;//колонка и ряд
while q and (j<=num) do begin
a := ar[j,i];
b := ar[i, j];
if (ar[j,i] <> ar[i, j])
then q:=false;
j:=j+1;
end;
i:=i+1;
end;
if q then
writeln('YES')
else
writeln('NO');
write('Введите 1 чтобы продолжить. 0 чтобы завершить');
readln(i)
until(i=0);
END.