|
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
|
|
Создание узла дерева в который можно впихнуть любой объект07.11.2020, 02:00. Показов 1412. Ответов 15
Метки нет (Все метки)
У меня есть реализация разных деревьев. По заданию мне надо строить дерево из объектов что угодно(int, string, vecrot) книга, персонаж. Я это реализовал так, что каждый из этих классов это узел дерева. Но преподаватель сказал, что это неправильно. Надо эти объекты засовывать в узел и так строить дерево. Я пытался переделать, но запутался в шаблонам и мне кажется, что делаю как-то не так. Не могли бы мне помочь и исправить в моем проекте?
Добавлено через 37 секунд http://github.com/LavrovSergey/OOP
0
|
|
| 07.11.2020, 02:00 | |
|
Ответы с готовыми решениями:
15
Есть ссылка на объект. Можно ли изменить объект, который хранится по этому адресу? Как реализовать метод, который превратит любой объект в byte[] ? Создать объект, который мог бы принимать в себя любой тип данных |
|
2681 / 1341 / 482
Регистрация: 08.11.2016
Сообщений: 3,707
|
||||||
| 08.11.2020, 00:13 | ||||||
|
Полагаю что преподаватель хочет от Вас простой шаблонной реализации бинарного дерева, что-то вроде
0
|
||||||
|
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
|
|
| 08.11.2020, 00:17 [ТС] | |
|
Annemesski, ну да дерево должно быть шаблонным. Не могли б вы рассмотреть именно мой пример. Вообще то что у вас в дереве дата у меня должно быть классом книги, персонажа и тд. И именно тут я запнулся. Я запутался в шаблонах, не понимаю как мне потом обращаться к элементам моего объекта
0
|
|
|
2681 / 1341 / 482
Регистрация: 08.11.2016
Сообщений: 3,707
|
||||||
| 08.11.2020, 00:48 | ||||||
|
БесподобeH, решительно не важно какой тип данных Вы будет помещать в дерево, лишь одно правило: для каждого типа данных свое дерево, просто в майне инстанцируете шаблон
0
|
||||||
|
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
|
|
| 08.11.2020, 01:05 [ТС] | |
|
Annemesski, пожалуйста вот укороченая версия моей лабы покажите на най пж. Я уже устал от нее. https://github.com/LavrovSergey/test
0
|
|
|
2681 / 1341 / 482
Регистрация: 08.11.2016
Сообщений: 3,707
|
|
| 08.11.2020, 01:17 | |
|
БесподобeH, шутите? Предлагаете мне разобрать Ваши 600+ строк кода и подогнать под Ваше задание? После такого замуж зовут, а я еще и не девушка. Серьезно, уж куда проще Вам будет взять предложенную заготовку и дописать недостающее, там всего-то и надо 1,5 конструктора и 3,5 метода реализовать.
0
|
|
|
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
|
||||||||||||||||
| 08.11.2020, 01:20 [ТС] | ||||||||||||||||
|
Annemesski, я не прошу все переделывать. А просто хоть что то исправить, указать и дальше я все сам сделаю
Добавлено через 1 минуту Annemesski,Давайте хотя бы на этом разберемся. На ptr->id выдает что в Node такого нет. Это понято. Но если мы сделаем ptr->data->id(поскольку ptr указывает на узел, а дата это объект который мы туда засунули) тоже выдаст ошибку
0
|
||||||||||||||||
|
2681 / 1341 / 482
Регистрация: 08.11.2016
Сообщений: 3,707
|
|
| 08.11.2020, 01:33 | |
|
БесподобeH, Вы хоть понимаете что эти Ваши
T inf и U *ptr в приведенном контексте не значат ровным счетом ничего? Понимаете что дабы они имели хоть какой-то смысл нужно инстанцировать шаблон класса? Понимаете что значит инстанцировать? Еще раз говорю разбирать то что Вы предлагаете - особый вид извращения, а Вы еще и на ночь глядя эту парнуху глядеть предлагаете... нет, на этом мои полномочия всё.
0
|
|
|
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
|
|
| 08.11.2020, 01:40 [ТС] | |
|
Annemesski, ну я пытаюсь разобраться поэтому и ищу помощь
Добавлено через 2 минуты Annemesski, слово инстанциировать не знал, но как понял это указать что именно там будет? Т- это int, string double, а U-это объект(книга, персонаж), который вставляется Добавлено через 2 минуты Annemesski, до этого в U я засовывл эти объекты, но они были как узел(тоесть там были указатели на лево, право и информация например по книге), но сказали, что так неправильно и надо разделить их. И я пытаюсь понять как это правильно делать и как обращаться к элементам объекта, который мы засунули в Node data
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|||||||
| 08.11.2020, 01:58 | |||||||
Сообщение было отмечено БесподобeH как решение
Решение
data - это не указатель (и не объект с перегруженным оператором ->).
0
|
|||||||
|
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
|
|
| 08.11.2020, 02:14 [ТС] | |
|
DrOffset, я смотрю вы довольно умны и добры. Не могли б вы открыть первую ссылку. И в ней исправить menu.cpp(функция menu1), functions.h и binarysearchtree.h. Понятное дело не все. Хоть пару функций для примера. Просто меня сейчас что то озарило. Но мне кажется я могу напутать. Сейчас исправляю бинарное дерево, но вот не знаю правильно я пишу где-то U и Node или нет
0
|
|
|
2681 / 1341 / 482
Регистрация: 08.11.2016
Сообщений: 3,707
|
|
| 08.11.2020, 02:19 | |
|
БесподобeH, у Вас класс называется "БинарноДеревоПоиска" понимаете что это значит? Это значит что дочерние элементы располагаются в нем справа или слева от родителя по некоему правилу, например если добавляемый элемент больше родителя, то он добавляется вправо, если меньше, то влево. Как вы собираетесь описывать правила по которым книга добавляется справа от персонажа или персонаж добавляется слева от книги? Вам преподаватель сказал "надо разделить", так и разделите их, опишите класс бинарного дерева поиска с одним шаблонным параметром и в главной функции программы продемонстрируйте работу с Вашим деревом создав дерево для персонажей, дерево для книг, дерево для черта лысого и вызовите их методы.
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||||||
| 08.11.2020, 02:25 | ||||||
|
БесподобeH, В чем смысл введения отдельных
T и U - (риторически) не понятно.Как сказано было выше, нужно избавиться от U и везде использовать T. Упростить шаблон - один параметр, а не два.Явно задавать Node параметром не нужно - это внутренняя кухня класса BinarySearchTree. Т.е. выглядеть должно так:
0
|
||||||
|
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
|
|
| 08.11.2020, 02:26 [ТС] | |
|
Annemesski, господи. Вы тут проблема вообще не в этом. Это все и так разные деревья. Я создал шаблонный класс узла, потому что в тот шаблон я и буду пихать дерево, персонажа и тд. Меня интересует как правильно обращаться к этим элементам. Например при создании дерева для сравнения я использую data(название книги например) которая находиться в классе книга, который находиться в классе узел. И меня интересует как правильно переделать мое дерево. Что б оно работало с эти
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 08.11.2020, 02:26 | ||
|
Я понимаю, что вы устали от этой лабы. Поэтому вам нужно просто оставить это на сегодня, а завтра сесть и нормально осмыслить все написанное выше. Дальше вы сможете сами написать реализацию заново. Пытаться исправлять этот код - бессмысленное занятие, в нем слишком много фундаментальных ошибок.
0
|
||
|
"C with Classes"
|
|
| 08.11.2020, 02:42 | |
|
0
|
|
| 08.11.2020, 02:42 | |
|
Помогаю со студенческими работами здесь
16
При выборе узла дерева не снимать выделение с дерева, а переводить курсор в datagridview Создать класс, в котором можно сохранить любой вызываемый объект или функцию
Можно ли впихнуть видеокарту? можно ли опереатор условия if впихнуть в цикл for? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|