Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
qnec
1 / 1 / 0
Регистрация: 13.10.2011
Сообщений: 12
#1

Бинарные деревья - C++

13.10.2011, 23:56. Просмотров 1061. Ответов 2
Метки нет (Все метки)

Здравствуйте господа. Очень нуждаюсь в вашей помощи по бинарным деревьям.

Собственно, имеется задание: Создать бинарное дерево которое будет хранить информацию о студентах группы и успеваемости каждого студента. Программа должна уметь создавать список студентов(организовывать дерево), заполнять информацию о студентах, изменять раннее введенную информацию, удалять записи студентов, добавлять записи студентов, выводить отчеты с поиском по заданным параметрам. Она должна уметь подсчитать количество отличников, хорошистов, троечников, неуспевающих. Программа должна сортировать данные в заданном порядке (например: отсортировать с отличников и до отстающих).

Есть наработка дерева, но она не работает, + ко всему я понятия не имею как его заполнять (основные пункты задания помимо создания дерева. Прошу вас помочь мне с заданием путем подсказок, что где и как исправить, и что где и как доделать, и прошу сопроводить части кода (если будут иметься) комментариями. Благодарю.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define N 5
struct tree
{int a;
tree* left;
tree* right;
};
void postr (tree* root, int h)
{
root ->a=random (100);
if ( h!=0)
{
if (random 3)
{
root ->left=new(tree)
postr (root->
left. h-1);
}
else root ->left=NULL;
if (random (3))
{
root->right=new(tree);
postr (root->right, h-1);
}
else
{
root ->right=NULL;
root->left=NULL;
}
}
 
 
void dfs(tree* root)
{
printf (%d” ,root ->a);
if (root ->left!=NULL) dfs(root->left);
if (root ->left!=NULL) dfs(root->right);
}
void main ()
{
clrscr ();
randomize ();
tree* root1;
root1=new (tree);
postr (root1, N);
dfs (root1);
getch;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 23:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Бинарные деревья (C++):

Бинарные деревья - C++
Доброго времени суток, нужна помощь, дали задание...Вершина бинарного дерева содержит ключ, строку и два указателя на потомков.Составить...

Бинарные деревья - C++
Подсчитать количество элементов на n-уровне бинарного дерева. Подскажите как можно решить используя любой обход в глубину но без...

Бинарные деревья - C++
Компилятор выдаёт ошибки в 9, 10 и 12, 13 строках: invalid conversion from 'int' to 'sNode*' Подскажите пожалуйста, что не так. ...

Бинарные деревья - C++
Возникла проблема с бинарными деревьями . Нужно определить K - количество узлов, ключ которых больше заданного числа N. Я дошёл только до...

Бинарные деревья - C++
Очень нужна помощь, вообще деревья не понимаю!!!:( Вершина дерева содержит указатель на строку и N указателей на потомков. Функция...

бинарные деревья - C++
Вершина двоичного дерева содержит указатель на строку и указатели на правое и левое поддеревья. Строки в дереве упорядочены по возрастанию....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Card1nal
6 / 6 / 0
Регистрация: 04.01.2010
Сообщений: 118
14.10.2011, 03:49 #2
Именно бинарное древо нужно?
Связанный список не подойдет ?
qnec
1 / 1 / 0
Регистрация: 13.10.2011
Сообщений: 12
14.10.2011, 18:14  [ТС] #3
Цитата Сообщение от Card1nal Посмотреть сообщение
Именно бинарное древо нужно?
Связанный список не подойдет ?
Нужно и то и то.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2011, 18:14
Привет! Вот еще темы с ответами:

Бинарные деревья - C++
Вот задачка: Для заданного бинарного дерева поиска проверить условие: • для каждой вершины высота левого поддерева отличается от...

Бинарные деревья - C++
Здравствуйте! Подскажите, правильно ли написано правое удаление вершины дерева? if(tree1-&gt;Right){ if(tree1-&gt;Right-&gt;Left==NULL){ ...

Бинарные деревья - C++
1)Написать программу подсчета числа вершин в бинарном дереве 2)Написать программу копирования одного бинарного дерева в другое ...

Бинарные деревья С++ - C++
Добрый день! Дали такое задание на лабораторную работу. кое-что получилось, а в остальном прошу Вас помочь... Из входной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru