Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ последовательности, разделенные нулями

Автор: 18192123 9.01.2007 15:51

В файле целых чисел хранятся последовательности ненулевых чисел. Ноль – разделитель последовательностей. Преобразовать файл, удалив в каждой последовательности члены между первым и вторым отрицательным числом. Если отрицательных чисел меньше двух последовательность исключить из файла.

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

Пожалуйста, объясните.

Автор: Lapp 9.01.2007 16:14

Цитата(18192123 @ 9.01.2007 12:51) *

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

Заводишь переменную для подсчета отрицательных чисел (Neg) и обнуляешь ее в начале чтения каждой новой последовательности (то есть в самом начале и после нуля). Читаешь последовательность и проверяешь знак чисел. Если число отрицательное, увеличиваешь Neg на 1. Если Neg не равно 1 или чило отрицательное, то записываешь прочитанное число в массив. В конце чтения последовательности, если Neg>=2, то записываешь набранный массив в новый файл.

Автор: hiv 9.01.2007 16:18

Цитата(18192123 @ 9.01.2007 11:51) *
По поводу работы с файлом вопросов у меня нет...
А у нас есть smile.gif Это как раз по работе с файлами задача. В начале читаешь из входного файла последовательность, проверяешь что нужно. Потом записываешь результат в другой временный файл или ничего не пишешь, если результата нет smile.gif. Так в цикле читаешь и обрабатываешь все последовательности. Потом закрываешь входной файл, закрываешь временный файл и переименовываешь его во входной. Я понял задачу именно так.