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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lers
12 / 12 / 3
Регистрация: 27.05.2012
Сообщений: 202
#1

создать дерево - C++

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

1.Из входного потока (файла) поступает текст, состоящий из слов, которые разделены пробелами. Между словами может быть более одного пробела.
Разобрать текст по символам, упорядочив его путем сортировки двоичным деревом. Под символами в данном случае подразумеваются лишь те, которые входят в слова.

2.Разобрать дерево по символам.Построить таблицу из всех различных символов текста с указанием количества слов, в которых каждый символ появляется.

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
#include <iostream>
#include <cstdio>
#include <cstdlib>
 
using namespace std;
 
struct tree
{
    tree* left;
    tree* right;
    int value;
    tree(){}
    tree(int data)
    {
        value = data;
        left = NULL;
        right = NULL;
    }
};
int n;
int value;
void add_to_tree(tree* &node, int value)
{
    if (node == NULL)
    {
        node = new tree(value);
        return;
    }
    if (node->value > value)
        add_to_tree(node->left,value);
    else
        add_to_tree(node->right,value);
}
void input_tree(tree* &root)
{
    cin>>n;
    for (int i=0;i<n;i++)
    {
        scanf("%d",&value);
        add_to_tree(root,value);
    }
}
void output_tree(tree* node)
{
    if (node == NULL)
        return;
    output_tree(node->left);
    printf("%d ",node->value);
    output_tree(node->right);
}
void delete_tree(tree* &node)
{
    if (node == NULL)
        return;
    delete_tree(node->left);
    delete_tree(node->right);
    delete node;   
}
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
   
    tree* root = NULL;
    input_tree(root);
    output_tree(root);
    delete_tree(root);
    return 0;
}
З.Ы. требуется помощь, т.к. в деревьях только начал плавать, есть сортировка и ввод данных числовых данных, не втыкаю как это это переделать под текст, т.е. как происходит разбиение текста на символы, сортировка символов и создание дерева?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2013, 22:21     создать дерево
Посмотрите здесь:

дерево поиска C++
C++ Создать класс "дерево"
C++ N мерное дерево
Как создать двоичное дерево, элементы которого заполняются по слоям слева направо? C++
C++ Создать бинарное дерево
Как создать 2-ое дерево со значениями 1-го? Не могу разобраться с указателями C++
Создать бинарное дерево C++
C++ Создать дерево указателями и вывести примерное его изображение в консоль
C++ Декартово дерево
C++ Создать дерево для работы со строками
C++ Дерево поиска
C++ Создать класс "Дерево" и метод, который выводит сумму узлов дерева

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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