0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 13
|
||||||
1 | ||||||
Работа с нагруженными деревьями05.11.2010, 10:22. Показов 1551. Ответов 4
Метки нет (Все метки)
здравствуйте,собственно возникла ошибка в функции заполнения нагруженного дерева
Суть задачи состоит в том,что у нас есть файл со словами,конец слова точка.Нужно представить из в виде нагруженного дерева,для организации используем указатели на левого сына и правого брата вот здесь код ссылка удалена
Вопрос:почему root остается равным NULL? Добавлено через 4 часа 47 минут ну up что ли Добавлено через 14 часов 44 минуты вверх что ли
0
|
05.11.2010, 10:22 | |
Ответы с готовыми решениями:
4
Работа с деревьями Программа. Работа с деревьями. Ошибки КОМПИЛЯЦИИ Работа с деревьями (Найти все поддеревья, листья которых находятся в заданном диапазоне высот от корня поддерева) Работа с деревьями |
15.04.2012, 19:58 | 2 | ||||||||||
А ты что не знал, что в функцию передаётся только копия параметра, и функция
такая
да, параметры можно передавать по указателю на них, чтобы они изменялись, но в твоём случае сам указатель - это изменяемый в функции параметр, так что возвращать надо. например так
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
15.04.2012, 20:03 | 3 |
Верно, но он ведь, вроде, передает в качестве параметров указатель, а не объект.
Добавлено через 1 минуту И еще - я вот опять не понимаю, вы пишете классы на С++, зачем использовать функции Си? Зачем смешивать два языка?
0
|
15.04.2012, 20:30 | 4 |
Ещё раз повторю. Указатель это такой же параметр, передаваемый по значению. В ситуации, когда адрес куда указывает указатель не изменяется, мы можем по этому адресу менять данные и они действительно сохранятся после завершения функции.
То что этим параметром пользуются для возврата данных из функции это верно. Мы можем сказать "Эй, вот тебе параметр node* root, он равен root=0xcdfe968a по этому адресу расположена структура node, запиши в неё что-нибудь полезное" И он действительно записывает. Причём он сам не может изменить этот адрес (то есть конечно может, но после выхода из функции окажется, что он работал лишь с копией). Выглядеть это будет так.
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
15.04.2012, 21:04 | 5 |
Я все это знаю, но он не пытался изменить указатель, он передавал лишь для того, что бы указать на область используемой памяти.
ADD: а нет, пытался изменить, проглядел, извиняюсь. Ну это пахнет холиваром, на С++ столько же проблем сколько и на Си. Я считаю, что нужно писать либо на Си либо на С++. А это не причина. Смешанный код труднее читать и понимать.
0
|
15.04.2012, 21:04 | |
15.04.2012, 21:04 | |
Помогаю со студенческими работами здесь
5
Работа с деревьями Работа с бинарными деревьями Работа с xml деревьями Работа с Б-деревьями - расщепление страницы Работа с двоичными деревьями в языке lisp Работа с деревьями, нужно доработать код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |