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

Найти в дереве самое широкое (узкое) поддерево имеющее заданную высоту - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ multiple definition of perebor(int) http://www.cyberforum.ru/cpp-beginners/thread308385.html
//ôóíêöèÿ ïåðåáèðàåò ÷èñëà //è íà êàæäîå ÷èñëî äåéñòâóåò ôóíêöèåé proverka #include <cstdlib> #include <iostream> #include <stdio.h> #include "proverka.cpp" #define c 100 int perebor(int chislo)
C++ Вставить между цифрами 1, 2,..., 8, 9 в данном порядке, знак одной из 4-х арифметических операций так, чтобы результат восьми послед-х операций =100 Вычисления проводятся слева-направо, ни одна операция не имеет приоритета. Добавлено через 2 минуты задача вынесла моск, прошу помочь http://www.cyberforum.ru/cpp-beginners/thread308379.html
Удалить из символьного одномерного массива повторяющиеся символы C++
пожалуйста подскажите!!!! как удалить из символьного одномерного массива повторяющиеся символы?
структура C++
создать структуру man в которую входят фамилия, адрес и возраст. в структуру man входит структура student в которой переменные: дисциплина, и еще 2 параметра. Обратится к полю структур.
C++ использование указателей http://www.cyberforum.ru/cpp-beginners/thread308368.html
не знал как тему даже назвать :-class CTest { public: int x; void xpp() { x++; } };
C++ Потоковый ввод\вывод... Создать файл действительных чисел с именем МАТ.FFF, записать в него матрицу действительных чисел М размерности n*n . Не считывая матрицу в память, просмотреть элементы k-того столбца. Если просматриваемые элменты меньше заданного значения k, то дописать их в конец этого файла, записав на их место нули. Напечатать количество записей в полученном файле, элементы просматриваемого столбца ... подробнее

Показать сообщение отдельно
PtahaS
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 3

Найти в дереве самое широкое (узкое) поддерево имеющее заданную высоту - C++

30.05.2011, 16:12. Просмотров 638. Ответов 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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
struct Tree {
    int id;                 //уникальное значение
    int level;              //уровень в иерархии
 
    int count_son;          //количество сыновей
    struct Tree** son;      //массив указателей на сыновей
};
 
/*---------Создание дерева----------*/
struct Tree *createTree(struct Tree *node, int id, int level){
    //node = new Tree;
    node->id = id;
    node->level = level;
 
    cout << "\nСколько сыновей у (" << (node->level) << "-" << (node->id) << "): ";
    cin >> (node->count_son);
    node->son = new struct Tree *[node->count_son];
 
 
    level++;
 
    for(int i = 0; i < ( node->count_son); i++){
        node->son[i] = new Tree;
        node->son[i]->id = id + i;
        node->son[i]->level = level;
    }
    for(int i = 0; i < (node->count_son); i++)
        createTree(node->son[i], id + i, level);
    return node;
 
}
/*---------Вывод дерева----------*/
void printTree(struct Tree *node){
    if(node){
        for(int i = 0; i < (node->level); i++)
            cout << "|  ";
        if(node->son != NULL)
            cout << "[+]";
        cout << "(" << (node->level) << "-" << (node->id) << ")" << endl;
 
        if((node->count_son) != 0)
            for(int i = 0; i < (node->count_son); i++)
                    printTree(node->son[i]);
    }
}
 
int main()
{
    Tree *root;
    root = new Tree;
 
    root = createTree(root, 0, 0);
    printTree(root);
 
 
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru