Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.06.2013
Сообщений: 14
1

Как вызвать в main данные функции?

10.06.2013, 19:35. Просмотров 608. Ответов 1
Метки нет (Все метки)

Вот весь код,приму любые замечания,так как я еще учусь)
Ткните меня в мои же ошибки)

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
using namespace std;
template <class T>//Создаем дерево
class Tree {
    struct Node {
        T item;
        Node *son;//создаем сыновей
        Node *brother;//создаем элементы ,которые располагаеются на том же уровне данного дерева
 
        Node(T i, Node *s = NULL, Node *b =NULL ) { // конструктор позволяющий задавать элементы данного дерева      
            item = i;
            son = s;
            brother = b;
        }
    };
 
    Node *root;//по умолчанию является приватным
 
public:
    Tree() { //конструктор ,который создает дерево
        root = NULL;
    }
 
    ~Tree() {
        DeleteSubtree(root);//рекурсивное удаление дерева из памяти
    }
 
    int GetHeight() { // Получение значения 
        return GetHeight(root);//высоты дерева
    }
 
    void Add(const T &elem) {//Добавление нового элемента в дерево
        Add(root, elem);
    }
 
private:
    void Add(Node *&node, const T &elem);//хранение элементов ,которые выстраиваются в определенном порядке
    void DeleteSubtree(Node *node);//Удаление ветки дерева
    int  GetHeight(Node *node);//Получение высоты дерева
    void reverse(Node *node);//Обратный обход дерева
    void NextNode( Node *node );//Получение следующего узла
    void get_son();//Получение сына
    void get_brother();//получение брата
    void streight(Node *root);
};
 
template <class T>
void Tree<T>::DeleteSubtree(Node *node) { //Удаление узлов дерева
    if(node){//удаление происходит до тех  пор ,пока следующим элементом не окажется node,тогда заканчивается работа 
        DeleteSubtree(node->son);//удаление ветви son
        DeleteSubtree(node->brother);//удаление ветви brother
            delete node;//в конце удаляется node
    }
}
        
template <class T>
int Tree<T>::GetHeight(Node *node) {
    if (node == NULL)//проверка ,на наличие элементов в дереве
        return 0;//если элементов нет ,то возвращает значение 0
    int max = 0;
    //Подсчитываем значение коичества всех поддеревьев 
    for (Node *current = node->son; current; current = current->brother) {//проход по всем элементам дерева
        int curHeight = GetHeight(current);
        if(curHeight > max)
            max = curHeight;
    }
    return max + 1;//и прибаляем первый элемент с которого начинался отсчет
 
 
}
 
//Добавление нового элемента 
template <class T>
void Tree<T>::Add(Node *&node, const T &item) {
    if (node==NULL)
    {
        node = new Node(item);
    } 
    else if (item < node->item) {
        Add(node->son, item);
    } 
    else {
        Add(node->brother, item);
    }
}
 
 
template <class T>//Обратный обход дерева
void Tree<T>:: reverse(Node *root)
{
if(!root)//если дерево является, не выполнять никаких действий – обход дерева завершается
return;
reverse(root->son);//обход левого поддерева
printf("%d. \"%s\"\n", ++cnt, root->info);// здесь выполняется необходимая обработка корня – например,вывод информации в выходной поток
reverse(root->brother);// обход правого поддерева
}
 
 
template <class T>//Прямой 
void Tree<T>::streight(Node *root)
{
if(!root)
return;
// 
printf("%d. \"%s\"\n", ++cnt, root->info);
// обход левого поддерева 
straight(root->son);
// обход правого поддерева 
straight(root->brother);
}
 
template <class T>//Получение следующего узла
void Tree<T>:: NextNode( Node *node )
{
   if ( node->IsSelected )
   {
 
     ( str->Equals( "Next" ) )
               node->TreeView->SelectedNode = node->NextNode;
     
      
   }
 
   node->TreeView->Focus();
}
//Получение левой ветки
template<class T>void Tree<T>::get_son(){
        Node<T>*son=this->obj;
        while(left_son->son!=NULL)
            down();
        return son;
    }
 
//Получение правой ветки
template<class T>void Tree<T>::get_brother(){
        Node<T>*brother=this->obj;
        while(right_brother->brother!=NULL)
            down();
        return son;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2013, 19:35
Ответы с готовыми решениями:

Как вызвать Main из другой функции?
собственно в этом то и вся проблема(( Не знаю как вызвать Main из другой функции.... Может кто...

Как вызвать функцию из функции main?
работаю в деве. предположим я создал проект, изначально в нем находится файл main.cpp. предположим...

Как реализовать функции в структуре и вызвать в main()?
Здравствуйте. Есть код. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include...

Как вызвать подсчёт площади фигуры Rectangle в функции main?
//////////////////////////Shape.h #ifndef _SHAPE_H_ #define _SHAPE_H_ class Shape { private:...

1
Пес войны
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
10.06.2013, 19:41 2
int main()
{
Tree<int> iTree;
iTree.add(15);
...
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2013, 19:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как вызвать в main() функции getsum() и getsum(int m)
// Program.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot;...

Как вызвать 3 данные функции?
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; using namespace...

Вызвать на выполнение созданные в функции main проекта, подключив header файл с описанием созданных функций
Помогите решить вот такую задачку, особые проблемы у меня возникают в работе с heder файлом....

Как вызвать функцию из .h в main ?
Здравствуйте! Помогите решить проблему. У меня есть много маленьких подзадачек в виде функций,...


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

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

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