РЕШАТЬ ЗАДАЧУ ЧЕРЕЗ PascalABC.net (СпАсИбО ВАМ заранее!!!))) Проверьте, является ли...

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

РЕШАТЬ ЗАДАЧУ ЧЕРЕЗ 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


Информатика (22 баллов) | 63 просмотров
0

спс заранее)))

Дан 1 ответ
0 голосов

Результат работы и листинг программы в приложениях.
Написано в 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      j:= i+1;//колонка и ряд
      while q and (j<=num) do begin<br>        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.


image
(10.8k баллов)
0

начало можешь показать)

0

вся программа в приложении

0

нажми на PAS

0

а потом - загрузить pas

0

ok