Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Igor11
0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 3
#1

Создать класс "Дерево" и метод, который выводит сумму узлов дерева

13.04.2016, 10:35. Просмотров 1005. Ответов 1
Метки нет (Все метки)

Привет ребят.выручайте.
Создать класс "Дерево" и метод, который выводит сумму узлов дерева
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2016, 10:35
Ответы с готовыми решениями:

Разработать класс "Массив больших чисел", который состоит из объектов класса "Большие целые числа". Найти сумму элементов массива.
Разработать класс "Массив больших чисел", который состоит из объектов класса...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
Помогите с кодом написания задачи, не понимаю как написать классы в классе. ...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания...

Создать класс "дерево"для представления арифметического выражения
Создать класс "дерево" для представления арифметического выражения, каждый из...

1
Геомеханик
785 / 592 / 937
Регистрация: 26.06.2015
Сообщений: 1,409
13.04.2016, 14:54 #2
Лучший ответ Сообщение было отмечено Igor11 как решение

Решение

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
#include <iostream>
#include <cstdlib>
 
 
template<class T>
class tree {
    struct node {
        T     val;
        node* left;
        node* right;
    };
private:
    node*  tr;
    size_t cnt;
public:
    tree(void):tr(NULL), cnt(0){}
    tree(const tree&);
    ~tree(){
        clear();
    }
public:
 
    //вставка
    bool insert(const T& val){
        node* p = tr, *i = tr;
        while(i != NULL){
            p = i;
            if(val < i->val)
                i = i->left;
            else if(val > i->val)
                i = i->right;
            else
                return false;
        }
 
        node* n = new (std::nothrow) node();
        if(n != NULL){
            n->val  = val;
            n->left = n->right = NULL;
 
            if(p == NULL)
                tr = n;
            else if(val < p->val)
                p->left  = n;
            else
                p->right = n;
            ++cnt;
        }
        return (n != NULL);
    }
 
    //сумма элементов(метод, который выводит сумму узлов дерева)
    T get_sum(void) {
        return __sum(tr);
    }
 
    //удаление всех
    void clear(void){
        __clear(tr);
        tr  = NULL;
        cnt = 0;
    }
 
private:
 
    T __sum(const node* p){
        if(p != NULL)
            return p->val + __sum(p->left) + __sum(p->right);
        return 0;
    }
 
    void __clear(node* p){
        if(p != NULL){
            if(p->left != NULL)
                __clear(p->left);
            if(p->right != NULL)
                __clear(p->right);
            delete p;
        }
    }
 
    size_t getSize(void) const { return cnt; }
    //...
};
 
 
int main(void){
    tree<size_t> tr;
    for(int i = 0; i < 30; ++i)
        tr.insert((size_t)(rand() % 40));
 
    std::cout << "sum: " << tr.get_sum() << std::endl;
    tr.clear();
    return 0;
}
Пример работы кода
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2016, 14:54

Класс "Строка" содержащий метод, который меняет местами первый и последний символы строки
Написать программу чтобы первый и последний символы строки менялись местами. На...

Создать класс "дерево"
Создать класс &quot;дерево&quot; для представления арифметического выражения, каждый из...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/".
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание:...


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

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

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