|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.06.2015, 18:20 | #1 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Delphi (Lazarus). Удаление нечётных элементов в дереве.
Добрый день. Нужна помощь в такой вот задаче: необходимо удалить все нечётные элементы дерева. Что-то не разобрался в деревьях. Буду рад любой помощи.
|
15.06.2015, 18:32 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А построить древо сможешь?
Или тут тоже швах?
I'm learning to live...
|
15.06.2015, 18:51 | #3 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Думаю, построить смогу... Меня больше именно процедура удаления нечётных элементов и все, связанные с ней, интересуют
|
15.06.2015, 20:26 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Поскольку код построения у тебя не вижу просто опишу теорию, как я ее понимаю: Ты создаешь некую процедуру, которая вызывается рекурсивно, в нее передаешь ветку, которую нужно проверить. В цикле в этой функции проходишь эту ветку, и если у нее есть свои ветки, вызываешь функцию, передавая ей найденную подветку. Если данные ветки равны чему-то вызываешь еще одну функцию (которую конечно же ты напишешь), чтоб освободить все входящие в ней ветки так же рекурсивно.
I'm learning to live...
|
15.06.2015, 21:38 | #5 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Теоретически я могу представить, как это реализуется, у меня именно затуп с реализацией. Поэтому я прошу помощи.
Ввод (создание дерева) вроде написал. На форме - Edit и кнопка. В Edit ввожу числа через пробел - это и есть элементы дерева. Код:
|
16.06.2015, 09:05 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ага... агаагаага...
Значит дальше... С потолка пишу, не проверяю, ок? Код:
Код:
I'm learning to live...
|
16.06.2015, 10:23 | #7 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Возникло у меня несколько вопросов по вашему решению.
Ваша процедура удаления не то же самое, что моя удаления? Или я что-то не понял? Как в Вашу процедуру добавить проверку на нечётность? Разве не нужно проходить всё дерево для этого? |
16.06.2015, 10:57 | #8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
А я разделил на две части - одна делает проход, вторая освобождает ветвь, что попадает под условие. Т.е. у тебя я не вижу механизма анализа что удалять а что оставлять. Цитата:
функцией odd() или оператором mod... Не?
I'm learning to live...
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сформировать список из N случайных элементов. Вставить после каждого четного элемента, звено с количеством нечётных элементов | newbieee | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 08.11.2014 14:14 |
Заменить максимальный элемент суммой всех нечётных элементов матрицы | Alexar Makken | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 08.06.2011 13:30 |
Найти количество отрицательных и нечётных элементов. | Wiedzzmin | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 31.05.2010 22:03 |
Удаление вершины в бинарном дереве | lebrosha | Помощь студентам | 2 | 24.05.2009 13:51 |