Подскажите пожалуйста! Как лучше решить эту задачку: с массивами или можно как-то попроще? Задача: дан файл F типа Fint (type Fint: fyle of Integer), описать процедуру Max(F), которая находит max элемент в нем, а затем отсекает ту часть файла, которая следует за max.
Altair
16.04.2005 23:43
Зачем нужен массив? откываем файл. читаем каждый элемент, и находя каждый раз наибольший, охраняем текущую позицию в файле. Потом пройдя весь файл и найдя макс. элемент , перемещаемся на максимальныйи начиная после него запихиваем вновый файл. Потом старый стираем а новый переименовываем. Все. никаких массивов.
volvo
17.04.2005 0:03
Жестоко
Цитата(Oleg_Z @ 16.04.05 19:43)
... Потом пройдя весь файл и найдя макс. элемент , перемещаемся на максимальный и...
До этого момента - все правильно. Все, что нужно сделать далее:
Truncate(f)
;) И никаких переписываний (и переименований файлов)...
Altair
17.04.2005 0:06
нет, ты не прочель условие, емунадо наоборот усечь не конец а начало
Altair
17.04.2005 0:07
а, блин да, это я ошибся. Тогда Truncate и все
volvo
17.04.2005 0:07
Цитата
затем отсекает ту часть файла, которая следует за max
да, да, понял уже я читал быстро и подумал что надо после. А то слишком просто выходит. Олег.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.