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

Сложить все числа и вывести сумму на заданном уровне дерева

26.04.2013, 21:21. Просмотров 363. Ответов 0
Метки нет (Все метки)

Построил дерево, вывел на экран. Не знаю, как в написанной программе определить уровень дерева.
P.S. числа генерируются рандомно
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
     
typedef struct tree
{
    int n;
    tree *left;
    tree *right;
}tree;
     
 
tree *Insert(tree *root, int n)
{ 
    if (root == NULL)
    { 
        root = (tree*)malloc(sizeof(tree));
        root->n = n;
        root->left = root->right = NULL;
    }
    else
    { 
        if (n <= root->n) root->left = Insert(root->left, n);
        else root->right = Insert(root->right, n);
    }
 
    return root;
}
 
 
void OutputTree(tree *root, int totalSpace)
        {
            while(root != NULL)
            {
                OutputTree(root->right, totalSpace + 4);
 
                for(int i = 1; i<=totalSpace; i++)
                    printf(" ");
                    printf("%d\n", root -> n);
 
                root = root -> left;
                totalSpace += 4;
            }
        }
 
void DeleteTree(tree *root)
{
    if (root == 0) return;
    if (root->left) DeleteTree(root->left);
    if (root->right) DeleteTree(root->right);
    free(root);
}
 
int main()
{
    int i, sum;
    int totalSpace=0;
 
    srand (time(NULL)); 
    tree *mytree = NULL, *head_tree=NULL;
    for (i = 0; i<10; i++)
    {
        mytree = Insert(mytree, rand() % 50 + 1);
        if(i==0) head_tree=mytree; 
    }
    printf("Root: %d\n",head_tree->n);
    printf("Tree:\n");
    OutputTree(head_tree, 0);
    DeleteTree(head_tree);
    return 0;
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2013, 21:21
Ответы с готовыми решениями:

Вывести список вершин на заданном уровне дерева
Добрый день! Дано бинарное дерево и номер уровня. Вывести список вершин на данном уровне....

Напишите программу, которая выводит на экран все узлы, находящиеся на заданном уровне двоичного дерева
Напишите программу, которая выводит на экран все узлы, находящиеся на заданном уровне двоичного...

Подсчет количества вершин дерева на заданном уровне
Напишите пожалуйста Проги для нахождения количества вершин для дерева на заданном уровне, и кто...

Сложить 2 числа и вывести их сумму
Добрый день. Вопрос тупой - учу ПХП пару дней! Почему не выводится сумма числа А и Б, а в строку...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2013, 21:21

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

Сложить введенные числа и вывести их сумму
Программа просто выводит введенные числа. Как сложить введенные числа и вывести их сумму??? ...

Как сложить два числа на битовом уровне?
Помогите срочно надо

Сложить и вывести сумму значений (числа) двух TextBox-ов в третьем
Подскажите, как сложить и вывести сумму значений (числа) двух textbox-ов в 3-ем автоматически при...

Сложить числа и вывести сумму на экран в двоичной и десятичной системах счисления
Ввести две строки, состоящие только из нулей и единиц. Считая их изображениями двоичных чисел,...


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

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

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