Помощь - Поиск - Пользователи - Календарь
Полная версия: Типизированные файлы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
tlotr
Подскажите пожалуйста!
Как лучше решить эту задачку: с массивами или можно как-то попроще?
Задача: дан файл F типа Fint (type Fint: fyle of Integer), описать процедуру Max(F), которая находит max элемент в нем, а затем отсекает ту часть файла, которая следует за max.
Altair
Зачем нужен массив?
откываем файл.
читаем каждый элемент, и находя каждый раз наибольший, охраняем текущую позицию в файле.
Потом пройдя весь файл и найдя макс. элемент , перемещаемся на максимальныйи начиная после него запихиваем вновый файл. Потом старый стираем а новый переименовываем.
Все. никаких массивов.
volvo
Жестоко blink.gif
Цитата(Oleg_Z @ 16.04.05 19:43)
... Потом пройдя весь файл и найдя макс. элемент , перемещаемся на максимальный и...

До этого момента - все правильно. Все, что нужно сделать далее:
Truncate(f)

;) И никаких переписываний (и переименований файлов)...
Altair
нет, ты не прочель условие, емунадо наоборот усечь не конец а начало
Altair
а, блин да, это я ошибся.
Тогда Truncate и все
volvo
Цитата
затем отсекает ту часть файла, которая следует за max
blink.gif

да, да, понял уже smile.gif я читал быстро и подумал что надо после.
А то слишком просто выходит.
Олег.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.