Задача ** Паскале. Подскажите, где ошибка?Var A:array[1..6,1..6] of integer;...

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

Задача на Паскале. Подскажите, где ошибка?
Var A:array[1..6,1..6] of integer;

X:array[1..6] of byte;

i,j,n:byte;
sum:longint;

Begin

write('Введите кол-во строк N: ');
readln(n);

sum:=0;

For i:=1 to n do

Begin

For j:=1 to n do

Begin

write (vvedite matricy A[i,j]: ') ;

write(A[i,j]:4);

sum:=sum+A[i,j];

End;

if (A[i,i])>(A[i,j]) then x[i]:=0

else x[i]:=1;

writeln;

End;

writeln ('Полученный массив');

For i:=1 to n do

write(X[i]:2);

writeln;

writeln('сумма матрицы = ', sum);

readln;

End.


Информатика (15 баллов) | 90 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Прикрепил исправление в виде скриншота и текстового документа с программой.
Var  
A:array[1..6,1..6] of integer; 
X:array[1..6] of byte; 
i,j,n:byte; 
sum:longint;  
Begin     
writeln('Введите кол-во строк N: '); 
readln(n); 
sum:=0; 
writeln ('Введите матрицу A: ') ;   
For i:=1 to n do   
Begin   
For j:=1 to n do     
Begin       
writeln('Введите элемент номер ',i,':',j);     
readln(A[i,j]);          
sum:=sum+A[i,j];     
if (A[i,i])>(A[i,j]) then x[i]:=0             
else x[i]:=1;             
writeln;     
End;      
End;   
writeln ('Полученный массив');   
For i:=1 to n do   
write(X[i]:2);  
writeln;
writeln('Сумма всех элементов матрицы = ', sum);
readln;
End.


image
Скачать вложение Текст (TXT)
(755 баллов)
0

Это сравниваю не я))) Посмотрите в исходный код ТС, я эту строку даже трогать не стал, ибо задание странное весьма, а лучше сказать некорректное. Вы это немного выше доказали.

Я исправил ошибки по паскалю. А вот если ТС скажет нормальное задание, то можно и алгоритм исправить.

0

Begin
writeln('Введите элемент номер ',i,':',j);
readln(A[i,j]); а не подскажите, как исправить, чтобы сразу вводить матрицу, а не каждый элемент, я сейчас пыталась исправить, у меня идет зацикливание....

0

Alviko, я исправлял на основании догадок, что хотел сделать ТС.

0

То как происходит сравнение, я прекрасно вижу и то что это бред я понимаю. Но очевидные ошибки, например, то что вместо read написано write я исправил.

0

хм, изменила readln на read и программа теперь работает неправильно

0

Filimnvaoks, посмотрите внимательнее в задание и скопируйте его сюда. Ибо по заданию "по правилу :Xi=1,если элемент Aij больше каждого из элементов i-й строки матрицы , иначе Xi=0" я не понимаю, что должна делать программа.

0 голосов

Если в синтаксисе, то в строке write (vvedite matricy A[i,j]: ') ; после первой открывающей скобки пропущен апостроф.

(142k баллов)
0

спасибо, но к сожалению, проблема совсем не в синтаксисе. Задача не работает, а требуется: Получить массив X1,X2,.,Xn по правилу :Xi=1,если элемент Aij больше каждого из элементов i-й строки матрицы , иначе Xi=0.Найти также сумму элементов матрицы

0

не поняла