
Taevpan
5 год назад
РЕШАТЬ ЗАДАЧУ ЧЕРЕЗ PascalABC.net (СпАсИбО ВАМ заранее!!!)))Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная диагональ — та, которая идёт из левого верхнего угла двумерного массива в правый нижний.Входные данныеПрограмма получает на вход число n100, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по n чисел, являющихся элементами массива.Выходные данныеПрограмма должна выводить слово yes для симметричного массива и слово no для несимметричного.Примерывходные данные30 1 21 5 32 3 4выходные данныеyesвходные данные30 0 00 0 01 0 0выходные данныеno

ОТВЕТЫ

Филипп
Oct 24, 2020
Результат работы и листинг программы в приложениях.
Написано в 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.
Написано в 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.
- начало можешь показать)
659
Смежные вопросы: