Форум программистов, компьютерный форум, киберфорум С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Написать псевдокод алгоритма решения задачи: https://www.cyberforum.ru/ cpp-beginners/ thread862985.html
Определить в какой четверти или на осях находится точка(x,y)
C++ Дерево ( программу которая находит число ветвей от корня до ближайшей вершины со значением е)
написать программу которая находит число ветвей от корня до ближайшей вершины со значением е. Если такой вершины нет то ответ должен быть -1.
C++ Задача на графику, анимация масштабирования https://www.cyberforum.ru/ cpp-beginners/ thread862969.html
Помогите пожалуйста написать программу. Компилятор Dev C++. Консоль. Написать программу увеличения и уменьшения снежинки по достижению некоторого максимального или минимального размеров соответственно. Грубо говоря, есть снежинка (можно просто звездочку *), сделать масштабирование нажатиями клавиш "стрелочка вверх" и "стрелочка вниз" до определенного значения.
C++ Написать коментарии https://www.cyberforum.ru/ cpp-beginners/ thread862961.html
#include <iostream> class S { public: virtual int get() = 0;}; class A1 : public S { public: virtual int get() {
Ошибка компиляции в VS2010 C++
Написал код на Dev C++. Пихаю в визуалку и она отказываеться компилировать( Ругаеться на 116 строчку, пишет что ф-ция должна вернуть значение. но если я буду чтото возвращать или сделаю ее воид то програма будет работать не коректно. Подскажите в чем загвоздка. #include <iostream> #include <string> #include <conio.h> using namespace std; enum CATEGORY{family, sport, cabrio, jeep}; ...
C++ Fit набора точек Привет! Кто-нибудь может посоветовать уже какой-нибудь готовый код, который делает фит набора точек произвольной функцией с определенным кол-вом свободных параметров? Заранее спасибо! https://www.cyberforum.ru/ cpp-beginners/ thread862952.html
C++ Инвертировать строку; подсчитать количество чисел; удалить все слова, начинающиеся с гласных букв https://www.cyberforum.ru/ cpp-beginners/ thread862947.html
Всем приветик просьба помочь со строками. Задание:инвертирует строку,подавая его в обратном виде,подсчитывает кол-во чисел в тексте,удаляет все слова что начинаются с гласных букв. Вот что есть: string reverse(string, int); int main() { setlocale(LC_ALL, "Russian"); string a, b; int res; cout << "Введите строку : ";
C++ Задание На Классы С++Дня начинающих
Уважаемые программисты Прошу помочь. так как эту тему я не понял :(. Задание: Обьявить в классе 2 симовлольные переменные .Вывести их на печаль. Заранее спасибо :help:
C++ прогрессии https://www.cyberforum.ru/ cpp-beginners/ thread862941.html
Определить является ли вводимая с клавиатуры последовательность арифметической и геометрической прогрессией.
C++ время https://www.cyberforum.ru/ cpp-beginners/ thread862939.html
Поезд прибывает на станцую в a часов b минут и отправляется в c часов d минут. Пассажир прибыл на платформу в n часов m минут. Будет ли поезд стоять на платформе. Числа a,b,c,d,n,m – целые , 0<a<23.0<b<59.0<c<23.0<d<59.0<n<23.0<m<59.0.
C++ поезд
Поезд прибывает на станцую в a часов b минут и отправляется в c часов d минут. Пассажир прибыл на платформу в n часов m минут. Будет ли поезд стоять на платформе. Числа a,b,c,d,n,m – целые , 0<a<23.0<b<59.0<c<23.0<d<59.0<n<23.0<m<59.0.
C++ Однонаправленный список элементов (удвоить каждый элемент списка) Сформировать однонаправленный список элементов типа char и написать программу следующих операций над ним: а) удвоить каждый элемент списка. https://www.cyberforum.ru/ cpp-beginners/ thread862928.html
3 / 3 / 5
Регистрация: 21.10.2012
Сообщений: 182
13.05.2013, 16:24  [ТС] 0

Как создать двоичное дерево, элементы которого заполняются по слоям слева направо? - C++ - Ответ 4549399

13.05.2013, 16:24. Показов 2368. Ответов 21
Метки (Все метки)

Ответ

xtorne21st, большое спасибо, а возможно ли вашу программу перевести на язык C. Я уже начал, только не знаю что вот с этим делать std::set<int> table;
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
#include <stdio.h>
#include<malloc.h>
 
typedef enum{false,true}bool;
 
typedef struct BNode
{
    int key;
    struct BNode* left;
    struct BNode* right;
    struct BNode* parent;
}BNode;
 
BNode* global_root = 0;
bool state = false;
std::set<int> table;
 
static double curr_node = 0;
static double curr_line = 1;
 
unsigned get_line()
{
    ++curr_node;
    if ((pow(curr_node, 1/(curr_line))) == 2.0)
    {
        ++curr_line;
    }
    return curr_line;
}
 
void put_node(BNode* root, int key, int depth)
{
    int i;
    if (!state)
    {
        state = true;
        get_line();
    }
 
    if (curr_line == 1)
    {
        global_root = (BNode*)malloc(sizeof(BNode));
        global_root->left = global_root->right = 0;
        global_root->parent = global_root;
        global_root->key = key;
        return;
    }
 
    if (depth >= curr_line)
    {
        return;
    }
 
    if (!root->left)
    {
        std::set<int>::iterator i = table.find(key);
        if (i == table.end())
        {
            root->left=(BNode*)malloc(sizeof(BNode));
            root->left->left = root->left->right = 0;
            root->left->parent=root;
            root->left->key=key;
            table.insert(key);
            return;
        }
    }
 
    if (!root->right)
    {
        std::set<int>::iterator i = table.find(key);
        if (i == table.end() && depth < curr_line)
        {
            root->right = (BNode*)malloc(sizeof(BNode));
            root->right->left = root->right->right = 0;
            root->right->parent = root;
            root->right->key = key;
            table.insert(key);
            return;
        }
    }
 
    if (root->left)
    {
        put_node(root->left, key, depth+1);
    }
 
    if (root->right)
    {
        put_node(root->right, key, depth+1);
    }
}
 
void show_tree(BNode* root, int lvl)
{
    if (!root)
    {
        return;
    }
    printf("lvl: %d; lvl: %d\n", lvl, root->key);
    show_tree(root->left, lvl + 1);
    show_tree(root->right, lvl + 1);
}
 
int main()
{
    put_node(global_root, 4, 1); state = false;
    put_node(global_root, 2, 1); state = false;
    put_node(global_root, 6, 1); state = false;
    put_node(global_root, 1, 1); state = false;
    put_node(global_root, 3, 1); state = false;
    put_node(global_root, 5, 1); state = false;
    put_node(global_root, 7, 1); state = false;
    show_tree(global_root, 1);
    return 0;
}


Вернуться к обсуждению:
Как создать двоичное дерево, элементы которого заполняются по слоям слева направо? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2013, 16:24
Готовые ответы и решения:

Создать матрицу и переставить элементы матрицы в возрастающем порядке слева направо, сверху вниз
Создать матрицу D. Затем переставить элементы матрицы в возрастающем порядке слева направо,сверху...

Создать массив, который одинаково читается как слева направо, так и справа налево (Палиндром)
Подскажите алгоритм работы задачи. Нужно создать массив, который одинаково читается как слева...

Упорядочить элементы в матрице по убыванию слева направо
Добрый вечер. Помогите пожалуйста с задачей Нужно упорядочить элементы в матрице по убыванию: -...

Поменять элементы каждого числа массива слева направо
компилятор сильно ругается - его не устраивает запись maina и в ф-и preobr косяки находит помогите...

21
13.05.2013, 16:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2013, 16:24
Помогаю со студенческими работами здесь

поменять элементы каждого числа массива слева направо
нужно изменить эту задачу-&quot;поменять элементы массива слева направо&quot;: #include &lt;iostream&gt; #include...

Упорядочить элементы в матрице по возрастанию(слева направо, сверху вниз)
Упорядочить элементы в матрице по возрастанию(слева направо, сверху вниз)

Задача: Построить двоичное дерево, элементами которого являются числа.
Program bin_tree; { Задача. Построить двоичное дерево, элементами которого...

В матрице D выбрать элементы, стоящие по диагонали слева направо и справа налево
1. Дана матрица D(6×6), состоящая из положительных и отрицательных целых чисел, расположенных в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru