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

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

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

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

23.09.2013, 22:21. Просмотров 432. Ответов 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;
}
З.Ы. требуется помощь, т.к. в деревьях только начал плавать, есть сортировка и ввод данных числовых данных, не втыкаю как это это переделать под текст, т.е. как происходит разбиение текста на символы, сортировка символов и создание дерева?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2013, 22:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос создать дерево (C++):

Создать бинарное дерево - C++
Ребята, помогите с такое задачей : нужно написать ф-цию для построения бинарного дерево определенным способом, а именно : на входе есть...

Создать бинарное дерево - C++
Есть обычное дерево. Узел описывается struct nod int Value; int Number_Of_Sons; nod *Son Число сыновей может быть до пяти. ...

Создать дерево для работы со строками - C++
организовать функции инициализации дерева, добавления/удаления элементов/веток дерева, вывода на экран как это все сделать? сам пытался -...

Создать дерево организационной структуры организации - C++
Ребят, кто-нибудь знает как примерно это делать? А то я как-то даже не особо понял суть задания, вот сама задача: Создать систему...

Как создать 2-ое дерево со значениями 1-го? Не могу разобраться с указателями - C++
Вот код(недоработанный): #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; struct sNode { int...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2013, 22:21
Привет! Вот еще темы с ответами:

Как создать двоичное дерево, элементы которого заполняются по слоям слева направо? - C++
Вот структура: typedef struct tree { int key; struct tree *left; struct tree *right; struct tree *parent;...

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой - C++
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Создать класс "дерево"для представления арифметического выражения - C++
Создать класс &quot;дерево&quot; для представления арифметического выражения, каждый из узлов которого содержит числа или знаки арифметических...

Создать класс "Дерево" и метод, который выводит сумму узлов дерева - C++
Привет ребят.выручайте. Создать класс &quot;Дерево&quot; и метод, который выводит сумму узлов дерева


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

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

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