![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Форумчане есть классы с их реализацией, появилась проблема не могу реализовать правильно добавление в список. вот код.
Код:
Ошибки в методе добавления: - индексация в дин. массивах начинается с 0, что надо учитывать в циклах - проверка необходимости расширения массива сделана неправильно (кстати, проверка именно НЕОБХОДИМОСТИ, а не ВОЗМОЖНОСТИ!) - проверка существования элемента реализована неправильно (по заданию уникальность номеров сегментов не требуется) - поиск места вставки и сдвиг элементов с помощью ВЛОЖЕННЫХ циклов реализованы неправильно - это должны быть ДВА ОТДЕЛЬНЫХ цикла. Спасибо. |
#2
|
|||
|
|||
![]() Как-то так
Код:
|
Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
Deman1986 (07.10.2014)
|
#3
|
|||
|
|||
![]() Спасибо большое. Еще один вопросик. У меня есть процедура загрузки из файла. Компилятор ругается на несовместимость типов. Как исправить незнаю.
Код:
Последний раз редактировалось Deman1986, 07.10.2014 в 19:55. |
#4
|
|||
|
|||
![]() А поиск места вставки не нужен??
|
#5
|
||||
|
||||
![]() Первый раз вижу такой стиль оформления кода - ступенькой.
А ошибка у вас возникает из за пропущенного параметра. Вот у вас описание как выглядит: Код:
Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
![]() Так учили в колледже ))).Вот я думаю как вставить недостающий параметр.
Последний раз редактировалось Deman1986, 08.10.2014 в 09:41. |
#7
|
||||
|
||||
![]() Цитата:
Код:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#8
|
|||
|
|||
![]() Вставляю, Shelf компилятор пишет что cop:=0; ни где не задействован, добавляю ещё один Segment:TSegment; тоже самое. Вот из-за этого сижу думаю, пробовал так и так)).
|
#9
|
|||
|
|||
![]() форумчане препод вернул, вот что пишет Добавление: что определяет параметр index? Если номер ячейки массива, то это неправильно.
Я уже писал что массив должен содержать номера сегментов, причем - в произвольном порядке. Например: 23, 12, 44, 07, 10 ... Поэтому номер сегмента не обязан совпадать с номером ячейки массива, где он хранится. Надо организовать поиск сегмента с номером index (аналогично методу удаления), после чего сдвинуть ХВОСТОВУЮ часть вправо. Совет по методам работы с файлами. Самое простое решение - построчное хранение: записали в строку число сегментов, потом в цикле в ОТДЕЛЬНЫЕ строки - номер сегмента, число страниц и данные о каждой странице (все - в отдельные строки). Это упрощает обратную загрузку, т.к. не требуется разбор строк на отдельные составляющие. метод удаления: Код:
|