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

Таблица перекрестных ссылок и бинарное дерево - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с текстом http://www.cyberforum.ru/cpp-beginners/thread526598.html
Здравствуйте! Помогите пожалуйста написать программу: Произвольный заданный текст вывести в виде абзаца с заданной длиной строки. При этом обозначить отступ от левого края в первой строка абзаца на заданное число позиций; размещение каждого слова целиком в одной и той же строке, (ликвидировать переносы, которые обозначены в тексте знаком "-" в конце строки) При этом изначально надо считывать...
C++ задача на обработку символьных строк 2. Разработать программу подсчёта статистики массива символьных строки в следующем виде: длина строки, количество пробелов, количество гласных, согласных, цифр и спецсимволов. http://www.cyberforum.ru/cpp-beginners/thread526593.html
C++ Как запомнить индексы равных элементов массива?
Произвожу поиск максимального или минимального элемента массива, типа такого: int max = B; for(int i=1;i<N;i++) { if(B>max) { max = B; index_i = i; } }
C++ Поворот фигуры в игре тетрис.
Здравствуйте, пытаюсь написать тетрис, но вот не знаю как крутить фигуры, можете чем то помочь? Слышал про матрицу поворотов только не пойму как ее использовать
C++ Дан массив А(М). Сосчитайте, сколько различных значений в этом массиве. http://www.cyberforum.ru/cpp-beginners/thread526549.html
Дан массив А(М). Сосчитайте, сколько различных значений в этом массиве. Подскажите где ошибка. int A,M; ................. for (int i = 0;i<M;i++) { for(int j = i+1 ; j < M; j++) {
C++ Проблема с массивом Здравствуйте. Задача: умножение матрицы на число. Проблема: корректно выводятся только 2, 5, 6, 7, 8 и 9 элементы массива. Причем существует закономерность, что значение первого элемента = значению четвертого элемента = значению седьмого элемента и значение третьего элемента = значению пятого элемента массива. main.cpp #include "stdio.h" #include "func.h" #include "conio.h" #include... подробнее

Показать сообщение отдельно
rudeeeboy
14 / 14 / 1
Регистрация: 08.11.2010
Сообщений: 172
23.03.2012, 22:11     Таблица перекрестных ссылок и бинарное дерево
Для хранения информации о ключевых словах некоторой программы имеется таблица перекрестных ссылок. Для каждого слова задан список номеров строк, где оно встречается, а для каждой строки - число образцов данного слова в строке. Ключевые слова расположены по алфавиту. Построить бинарное дерево для быстрого поиска ключевых слов. Составить программу определения общего количества вхождений заданного ключевого слова. Обеспечить корректировку дерева поиска для случая удаления ключевого слова из некоторой строки.


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
#include<iostream>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
using namespace std;
 
struct Node 
{
        int key;
        Node *right,*left;
};
 
typedef Node *KNode;
const int n=7;
KNode maketree(int mass[],int *from, int n);
void PrintTree (KNode tree, int r);
 
KNode maketree(int mass[],int *from, int n)
{
        KNode tree;
        if(n==0) return NULL;
        int nr,nl;
        tree=new Node;
        tree->key=mass[*from];
        (*from)++;
        nl=n/2;
        nr=n-nl-1;
        tree->left=maketree(mass,from,nl);
        tree->right=maketree(mass,from,nr);
        return tree;
}
 
void PrintTree (KNode tree, int r)
{
        if(tree!=NULL)
        {
            PrintTree(tree->right, r+5);
            for (int i=0; i < r ; i++)
                printf(" ");
            printf("%d\n",tree->key);
            PrintTree(tree->left, r+5);
        }
}    
int main()
{ 
        srand(time(NULL));
        int mass[n], i;
        for(int i=0;i<n*2;i++)
                mass[i]=0;
        for(int i=0;i<n*2;i++)
                mass[i]=4;//((rand()%9)+1)*10+rand()%10;
        /*for(int i=0;i<n;i++)
                for(int j=i+1;j<n;j++)
                        if(mass[i]=mass[j])
                        {
                        mass[j]=((rand()%9)+1)*1000+rand()%100;
                                j=i+1;
                        }*/
        mass[0]=1;
        mass[1]=4;
        mass[2]=6;
        mass[3]=2;
        mass[4]=4;
        mass[5]=5;
        mass[6]=8;            
        
        printf("Initial sequence\n");
        for(int i=0;i<n;i++)
                printf("%i ",mass[i]);
        printf("\n");
        KNode Tree1;
        i = 0;
        Tree1=maketree(mass,&i,n);
        PrintTree(Tree1,0);
        getch();
        //system("PAUSE");
}
я как понял надо добавить ещё структуру, в которой будет слово и номера строк, верно? и куда её добавить?(структуру) и осуществить поиск? спс
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru