Вопрос задан 20.07.2023 в 02:25. Предмет Информатика. Спрашивает Раскина Ира.

Нужно написать программу на PascalABC. Проверьте, является ли двумерный массив симметричным

относительно главной диагонали. Главная диагональ — та, которая идёт из левого верхнего угла двумерного массива в правый нижний. Входные данные Программа получает на вход число 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
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ганьшин Данила.

program raf105;

var

 a:array[1..100,1..100] of integer;

 i,j,n: integer;

 x: boolean;

begin

x:= True;

write('Размер матрицы: ');

readln(n);

writeln('Заполните матрицу');

for i:=1 to n do

 for j:=1 to n do

   readln(a[j,i]);

for i:=1 to n do

begin

writeln;

 for j:=1 to n do

 begin

   write(a[j,i],' ');

   if x and (a[j,i] <> a[i,j])

     then x:= False;

 end;

end;

writeln;

if x

 then writeln('yes')

 else writeln('no');

end.

PascalABC 3.4.2

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на PascalABC нужно будет выполнить следующие шаги:

  1. Прочитать число n из входных данных.
  2. Создать двумерный массив размером n x n и заполнить его элементами из входных данных.
  3. Проверить, является ли массив симметричным относительно главной диагонали.
  4. Вывести "yes" или "no" в зависимости от результата проверки.

Вот готовый код для этой программы:

pascal
program SymmetricMatrix; const MAX_SIZE = 100; type Matrix = array[1..MAX_SIZE, 1..MAX_SIZE] of integer; function IsSymmetricMatrix(n: integer; var arr: Matrix): boolean; var i, j: integer; begin for i := 1 to n do for j := i+1 to n do if arr[i, j] <> arr[j, i] then begin IsSymmetricMatrix := False; Exit; end; IsSymmetricMatrix := True; end; var n, i, j: integer; inputMatrix: Matrix; symmetric: boolean; begin Readln(n); for i := 1 to n do for j := 1 to n do Read(inputMatrix[i, j]); symmetric := IsSymmetricMatrix(n, inputMatrix); if symmetric then Writeln('yes') else Writeln('no'); end.

После выполнения программы, она будет считывать входные данные, проверять симметричность массива и выводить "yes" или "no" в зависимости от результата.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос