Помощь - Поиск - Пользователи - Календарь
Полная версия: последовательности, разделенные нулями
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
18192123
В файле целых чисел хранятся последовательности ненулевых чисел. Ноль – разделитель последовательностей. Преобразовать файл, удалив в каждой последовательности члены между первым и вторым отрицательным числом. Если отрицательных чисел меньше двух последовательность исключить из файла.

По поводу работы с файлом вопросов у меня нет, а вот с "удалив в каждой последовательности члены между первым и вторым отрицательным числом" - с этим основное затруднение.

Пожалуйста, объясните.
Lapp
Цитата(18192123 @ 9.01.2007 12:51) *

"удалив в каждой последовательности члены между первым и вторым отрицательным числом" - с этим основное затруднение.

Заводишь переменную для подсчета отрицательных чисел (Neg) и обнуляешь ее в начале чтения каждой новой последовательности (то есть в самом начале и после нуля). Читаешь последовательность и проверяешь знак чисел. Если число отрицательное, увеличиваешь Neg на 1. Если Neg не равно 1 или чило отрицательное, то записываешь прочитанное число в массив. В конце чтения последовательности, если Neg>=2, то записываешь набранный массив в новый файл.
hiv
Цитата(18192123 @ 9.01.2007 11:51) *
По поводу работы с файлом вопросов у меня нет...
А у нас есть smile.gif Это как раз по работе с файлами задача. В начале читаешь из входного файла последовательность, проверяешь что нужно. Потом записываешь результат в другой временный файл или ничего не пишешь, если результата нет smile.gif. Так в цикле читаешь и обрабатываешь все последовательности. Потом закрываешь входной файл, закрываешь временный файл и переименовываешь его во входной. Я понял задачу именно так.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.