11 / 12 / 8
Регистрация: 16.11.2016
Сообщений: 892
|
|||||||||||
1 | |||||||||||
Среда разработки завершает работу02.05.2017, 17:16. Показов 1005. Ответов 4
Метки нет (Все метки)
Программа должна создавать дерево поиска, и считать кол-во листьев. Но вместо этого она завершает работу, что не так?
Всё, разобрался, программа считывает один (первый) элемент, и после считывает кол-во листьев в дереве. Как реализовать создание дерева побольше?
0
|
02.05.2017, 17:16 | |
Ответы с готовыми решениями:
4
Среда разработки Среда разработки Среда разработки - Среда разработки |
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
02.05.2017, 17:23 | 2 |
Сообщение было отмечено triatri3 как решение
Решение
У вас в функцию AddTree передаётся копия указателя root, то есть выделение памяти идёт для локальной копии root (а локальные переменные с теми же названиями перекрывают глобальные). При выходе из функции AddTree, локальная копия root уничтожается, память утекает, оригинальный root содержит NULL, следующей инструкцией вы пытаетесь этот NULL разыменовать и, как итог, падаете под весёлое посвистывание и улюлюкание компилятора.
1
|
11 / 12 / 8
Регистрация: 16.11.2016
Сообщений: 892
|
|
02.05.2017, 18:14 [ТС] | 3 |
MrGluck, слоооожно,как исправить? изменить локальную переменную на глобальную?
0
|
11 / 12 / 8
Регистрация: 16.11.2016
Сообщений: 892
|
|||||||||||
03.05.2017, 11:26 [ТС] | 5 | ||||||||||
Понял о чём, спасибо огромное, многое прояснило. Для 1 элемента(корня) всё отлично работает, но не подскажите ли как реализовать создание полноценного дерева? Возможно ли через for (int i=0; i<кол-ва элементов; i++)? Не будет ли при таком случае создание лишь одной ветки? И если это не верно, то как реализовать верно?
Добавлено через 31 минуту Понял в чём проблема. Суть в том, что если есть элемент, который иметт только 1 ссылку из 2-х(например имеет потомка только справа(root->left==NULL) &&(root->right)) то программа прост озавершает работу, т.к. я не придусмотрел это, попытался решить это, вот код. Но при Корректировках среда разработки всё равно завершает работу. В чём ошибка?
0
|
03.05.2017, 11:26 | |
03.05.2017, 11:26 | |
Помогаю со студенческими работами здесь
5
Среда разработки Среда разработки Среда разработки под ХР Среда разработки и литература Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |