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

Построение Бинарного дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать парсер текста, меняющий заданные комбинации букв на определённые цифры http://www.cyberforum.ru/cpp-beginners/thread1630734.html
Нужно в тексте заменить ABC на 2, DEF на 3 и т.д., как на телефоне. Главное - они должны идти вместе и без пробелов или ком. Можете подсказать в чем проблема? #include <iostream.h> //--------------------------------------------------------------------------- #pragma package(smart_init) #include "iostream" #include <math.h> using namespace std;
C++ Поиск минимального и максимального чисел из заданного диапазона, ни разу не встречающихся в заданном массиве Как найти числа которые ни разу не встречаются в массиве? И как это записать в виде функции? Полное условие задачи вот: решать не нужно, нужен только совет. "Дан одномерный массив из 40 случайных целых чисел в диапазоне от 16 до 89 включительно. Вывести минимальное и максимальное числа из данного диапазона, которые ни разу не встре-чаются в массиве. Создать функцию для поиска элемента в... http://www.cyberforum.ru/cpp-beginners/thread1630720.html
C++ Массивы указателей на функции-члены не работают
всем привет. по книге джеса либерти переписал код массива указателей на функции члены, но код выдает ошибку. Вызове функции отсутствует список аргументов вот код: #include <iostream> using namespace std;
C++ Alglib C++ Qt
Пытаюсь запустить простой пример по мануалу с официального сайта http://www.alglib.net/translator/man/manual.cpp.html#example_nn_cls2 Но проблема в mlptrainer trn; multilayerperceptron network; mlpreport rep; real_1d_array x = ""; real_1d_array y = ""; real_2d_array xy = ",,,,,]";
C++ Внедрение динамической библиотеки http://www.cyberforum.ru/cpp-beginners/thread1630707.html
#include <windows.h> #include <tlhelp32.h> LRESULT CALLBACK WindowProcedure (HWND,UINT,WPARAM,LPARAM); char szClassName = "0"; int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil) { HWND hwnd; MSG messages; WNDCLASSEX wincl;
C++ MFC Picture Control Помогите разобраться с этим элементом, я понял, что в него можно загружать картинки, а рисовать в нем можно? Если да то как? Мне нужно нарисовать там столбиковую диаграмму по массиву, если это можно сделать проще буду очень благодарен за совет подробнее

Показать сообщение отдельно
The-Dark-Side
12 / 12 / 3
Регистрация: 26.12.2014
Сообщений: 173

Построение Бинарного дерева - C++

03.01.2016, 14:15. Просмотров 161. Ответов 0
Метки (Все метки)

Часть задания:
Во входном файле находится информация о троллейбусах в следующем виде:
Номер машины
Номер маршрута
Год выпуска
Год и месяц последнего ремонта
Фамилия Водителя
Построить бинарное дерево поиска, а в качестве ключа использовать номер машины.
Файл приведен ниже.
Я пытаюсь построить и вывести бинарное дерево. Оно либо не выводится, либо, скорее всего, не строится.

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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
struct tree {
    string number;
    string route;
    string year;
    string repair;
    string lastname;
    tree*left;
    tree*right;
};
void printmenu() {
    cout << "1.Search by number" << endl;
    cout << "2.Print all list by ascending numbers" << endl;
    cout << "3.Search by route" << endl;
    cout << "4.Search by year" << endl;
    cout << "5.Delete by number" << endl;
    cout << "Create new tree by:" << endl;
    cout << "  6.Route number" << endl;
    cout << "  7.Last name" << endl;
}
 
string getinfo(ifstream & fin) {// Читает очередную строку
    string buff;
    fin >> buff;
    return buff;
}
 
void insertnode(tree *root, ifstream &fin) {
    if (root == NULL) { 
        root = new tree; //создаем нового потомка и заполняем его данными
        root->number = getinfo(fin);
        root->route = getinfo(fin);
        root->year = getinfo(fin);
        root->repair = getinfo(fin);
        root->lastname = getinfo(fin);
 
    }
    else {
        if (stoi(getinfo(fin)) < stoi(root->number)) //Если очередной номер меньше чем у предка
            insertnode(root->left, fin);  //создаем левого потомка
        else
            insertnode(root->right, fin); // иначе правого
    }
}
 
void createtree(ifstream & fin, tree*root) {    
    while (!fin.eof()) { //Пока не конец файла, читаем данные
        insertnode(root, fin);
    }
}
 
void printtree(tree*root) {
    if (root) {
        printtree(root->left);
        cout << root->lastname << endl;
        cout << root->number << endl;
        cout << root->repair << endl;
        cout << root->route << endl;
        cout << root->year << endl;
        printtree(root->right);
    }
}
 
int main()
{
    char buff[50];
    ifstream fin("trl.txt");
    if (!fin.is_open())
        cout << "File cannot be open!" << endl;
    else {
        tree *root = NULL;
        createtree(fin, root);
        printtree(root);
        int action;
        printmenu();
        cin >> action;
        switch (action) {
        case 1: {
        }
        case 2: {
        }
        case 3: {
        }
        case 4: {
        }
        case 5: {
        }
        case 6: {
        }
        case 7: {
        }
        }
    }
    system("pause");
    return 0;
}
Код
1 //Номер машины
11  // Маршрута
1991  //Год выпуска
2001  // Год ремонта
A // Фамилия
2 
12 
1992 
2002 
B
3
13 
1993 
2003 
C
4 
14 
1994 
2004 
D
5 
15 
1995 
2005 
E
6 
16 
1996 
2006 
F
7 
17 
1997 
2007 
G
8 
18 
1998 
2008 
H
9 
19 
1999 
2009 
I
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru