Ошибка в чтении массива - PascalABC.NET
Формулировка задачи:
В программе после трех рядов и нажатия Enter курсор просто перемещается на след. строку, ничего больше не происходит. Помогите пожалуйста, почему?
___________________________________
Решение задачи: «Ошибка в чтении массива»
textual
Листинг программы
Program Max_In_Rows;
const n=3;
var b:array[1..n,1..n] of real;
i,j:integer;
a:array [1..n] of real;
begin
writeln('введите значения элементов матрицы по строкам');
writeln('в конце каждой строки нажимайте Enter');
for i:=1 to n do
begin
for j:=1 to n do read(b[i,j]);
readln;
end;
for i:=1 to n do
begin
a[i]:=b[i,1];
for j:=2 to n do
if a[i]<b[i,j] then a[i]:=b[i,j];
end;
writeln ('Наибольшие значения строк матрицы S');
writeln ('Номер строки Наибольшее значение');
for i:=1 to n do
writeln (i:6,' ':20,a[i]:0:2);
end.
Объяснение кода листинга программы
Список действий в коде:
- Ввод значений элементов матрицы по строкам.
- Присваивание значения первому элементу каждой строки матрицы
aзначением первого элемента соответствующей строки матрицыb. - Проход по всем элементам остальных строк матрицы
b. - Сравнение каждого элемента строки
bс текущим максимальным значением в строкеa. - Если текущий элемент строки
bбольше текущего максимального значения в строкеa, то обновление значения максимального элемента в строкеa. - Вывод на экран номер строки и наибольшее значение в каждой строке матрицы
a.