Привет всем, помогите пожалуйста дописать программу, не первый день уже воюю с кодом и башка совсем уже не варит.
Собственно условие задания: "В файле input.pas задана матрица n x m (где n - кол-во строк, m - кол-во столбцов). В файл output.pas записать номера строк и сумму значений тех строк матрицы, где нет отрицательных элементов; записать ноль, если в строке есть отрицательные элементы."
Вот что у меня получилось, но мне говорят что в корне неверно написано... я честно говоря уже не могу придумать что-то еще, а сдавать уже через 10 часов. В общем напишите пожалуйста правильно, если можете.
| Код | 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. |
|