Есть только три маленькие ошибки:
1) if (max<x[i,j])
должен быть вне второго цикла, потому что вы хотите инициализировать максимальное значение только один раз для каждой строки.
2) writeln(max);
должен находиться за пределами второго цикла цикла, вы хотите напечатать значение только один раз в строке.
3) read(x[i,j]);
Я рекомендую быть readln (x[i,j])
, потому что с вами прочитать только для чтения одного символа, с ReadLn вам красные символы, пока не найдете символ новой строки, и это позволит вам вводить цифры с более чем двумя цифрами.
Это только имеет смысл, для строк, вы можете использовать read
или readln
с целыми числами
Также я советую вам написать ключевое слово begin
в той же строке, где вы пишете структуру Contol (для, в то время как , if и т. д.), потому что таким образом он больше похож на конвенцию стиля кодирования C, один из самых популярных стилей кодирования, которые я предполагаю. А также лучше для вас, если вы попытаетесь сохранить похожий стиль кодирования для любого языка.
так что код будет:
Program Lab2;
const SIZE=3;
type A=array [1..SIZE,1..SIZE] of integer;
var x:A;
i,j,max:integer;
Begin
writeln('Write date:');
for i:=1 to SIZE do begin
for j:=1 to SIZE do begin
readln(x[i,j]);
end;
end;
for i:=1 to SIZE do begin
max:=x[i,1];
for j:=1 to SIZE do begin
if (max<x[i,j]) then begin
max:=x[i,j];
end;
end;
writeln('the max value of the row ',i ,' is ',max);
end;
readln;
readln;
end.
Ваш WriteLn должен быть во внешнем для, то же с макс: = х [I, 1] – matys84pl
Пожалуйста, более подробно – user3348229