Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2012, 01:27   #1
akgoal
Новичок
Джуниор
 
Регистрация: 11.10.2012
Сообщений: 3
По умолчанию функция eof

Доброе время суток. Помогите, пожалуйста, разобраться с eof в паскале.
В общем сама задача не очень важна. Проблема в том, что уже после конца файла программа упорно считывает один нулевой элемент.
Фрагмент:
Код:
c:=not eof(y);
     while c=true do
     begin
     read (y,b);
     if b<a then begin writeln(z, b);d:=false; c:=not eof(y); end else begin c:=false; b2:=b; d:=true; end;
     end;
На d и b2 прощу внимания не обращать=). Переменную c ввел для возможности выхода из цикла при невыполнении условия. Подскажите, что не так)
akgoal вне форума Ответить с цитированием
Старый 11.10.2012, 03:15   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
while not EOF(y) do
begin
  read(y,b);
  if b<a then
    writeln(z, b);
end;
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 11.10.2012, 11:05   #3
akgoal
Новичок
Джуниор
 
Регистрация: 11.10.2012
Сообщений: 3
По умолчанию

мне нужно остановить прочтение файла, если условие b<a не выполнено и выйти из цикла while not EOF(y)
akgoal вне форума Ответить с цитированием
Старый 11.10.2012, 12:33   #4
JIeIIIa
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 54
По умолчанию

Ну так выходите)))
Код:
while not EOF(y) do
begin
  read(y,b);
  if b<a then
    writeln(z, b)
  else break;
end;

Последний раз редактировалось JIeIIIa; 11.10.2012 в 12:38.
JIeIIIa вне форума Ответить с цитированием
Старый 11.10.2012, 15:01   #5
akgoal
Новичок
Джуниор
 
Регистрация: 11.10.2012
Сообщений: 3
По умолчанию

так все равно ноль захватывает(
akgoal вне форума Ответить с цитированием
Старый 11.10.2012, 15:47   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а Вы не допускаете, что там реально есть ноль в конце?!

приведите описание var y : ????
и выложите сюда архив с вашим файлом.


p.s. если у вас вдруг в расширенном режиме недоступно управление вложениями, тогда архив разместите на любом бесплатном файлообменнике, а сюда на форум ссылочку на скачивание..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с while(!f.eof()) SakHax Общие вопросы C/C++ 1 20.12.2011 18:46
EOF goluzov Общие вопросы C/C++ 1 07.12.2011 09:50
while(! input.eof()) kaljan775 Общие вопросы C/C++ 4 09.10.2010 12:41
Как задать EOF? Geolaz Общие вопросы C/C++ 24 17.01.2010 22:16
функция eof! срочно! kitty_girl Помощь студентам 6 21.05.2009 22:25