|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите с кодом в Делфи. Что здесь неправильно?
Дан файл целых чисел. Создать файл действительных чисел , компонентами которого будут среднее арифметическое каждых 5 подряд записаных чисел.
В чем ошибка? Код:
var f,g:textfile; i,k,s:integer; begin assignFile(f,'C:\input.txt'); reset(f); assignFile(g,'C:\output.txt'); rewrite(g); k:=0; s:=0; while (not eof(f))do begin readln(f,i); if k<5 then begin s:=s+i; k:=k+1; end else begin writeln(g,s/5:3); s:=0; k:=0; end; end; closefile(f); closefile(g); end; |
#2
|
|||
|
|||
1. Не плохо было бы написать более подробно в чем проблема. Ну или хотя бы присоединить тестовый входной файл.
2. А если кол-во цифр во входном файле не кратно 5? Тогда у тебя на конце код потеряет одну группу чисел. 3. Я что-то не совсем уверен, что из текстового файла можно читать Integer. Попробуй чиать через строку, а потом конвертировать с помощью функции StrToInt. |
#3
|
|||
|
|||
Все разобрался.Сори за неудобства. Просто во входящем файле числа подряд записаны были , а не через пробел.
Последний раз редактировалось aerosm, 01.03.2011 в 16:15. |