Привет всем, помогите пожалуйста дописать программу, не первый день уже воюю с кодом и башка совсем уже не варит.
Собственно условие задания: "В файле input.pas задана матрица n x m (где n - кол-во строк, m - кол-во столбцов). В файл output.pas записать номера строк и сумму значений тех строк матрицы, где нет отрицательных элементов; записать ноль, если в строке есть отрицательные элементы."
Вот мой код, он компилится, программа запускается, но считает неправильно. Если найдете в чем проблема, напишите пожалуйста правильно:
Код:
PROGRAM exam2;
{$APPTYPE CONSOLE}
uses
SysUtils;
VAR
n,m: Integer;
I,J,K,Sum,Arr :Integer;
F,F1:TEXT;
BEGIN
ASSIGNFile(F,'input.PAS');
RESET(F); //Открываем исходный файл для чтения
ASSIGNFile(F1,'output.PAS'); //И выходной для записи
REWRITE(F1);
READLN(F,n,m); //Считаем размерность матрицы - первая строка
J:=0;
WHILE ((NOT EOF(F)) AND (J<n)) DO //До конца файла EOF или количества строк массива
BEGIN
Sum:=0;
FOR I:=0 TO m-1 DO
BEGIN
Read(F,K); //Читаем элемент строки массива
//Проверим на отрицательный элемент и накопим сумму
IF K>=0 Then INC(Sum,K) Else
BEGIN
Sum:=0;
SEEKEOLN(F); //Пропускаем до конца строки
BREAK;
END;
END;
//Выведем номер строки и сумму
WRITELN(F1,J,' ',Sum);
INC(J); //Считаем количество строк
END;
//Закрыли оба файла...
CloseFile(F);
CloseFile(F1);
END.