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

Б-дерево(B-tree) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели http://www.cyberforum.ru/cpp-beginners/thread84847.html
Составить программу, которая преобразует массивы А(1..10) и В(1..12) следующим образом: элементы, меньшие среднего арифметического всех элементов заменить нулём. Преобразование массивов оформить в виде функции.
C++ Среди заданных целых чисел k,l,m найти пары кратных Среди заданных целых чисел k,l,m найти пары кратных. То что получилось\получается у меня - бред%) http://www.cyberforum.ru/cpp-beginners/thread84842.html
C++ консольное приложение ,проверьте ошибки
Помогите плз, надо исправить ошибки
Перевести простую пробь в десятичную C++
доброго времини суток! в программировании я новичек. мне подкинули задачку: умеется числитель и знаменатель простой дроби - натуральные числа. дробь правильная нада написать программу которая переводит простую пробь в десятичную и если имеется период то записывает его как в математике "0.(число в периоде)" может ктото подскажет какую то закономерность по какой можно оперделить какие...
C++ Метод дихотомии (как метод оптимизации) http://www.cyberforum.ru/cpp-beginners/thread84831.html
Нужно написать программу решения метода дихотомии (как метод оптимизации) на С++.А я в С++ новичок, многого не знаю. Пожалуйста, помогите кто-нибудь! Буду очень благодарна!
C++ Массивы Товарисчи программисты помогите мне решить 2 задачи ....оч нужно ...=( <---грустный смайл )) Задача 1 )В одномерном массиве, состоящем из 25 вещественных элементов, вычислить: 1) минимальный элемент массива; 2) сумму элементов массива, расположенных между первым и последним положительными элементами. Преобразовать массив таким образом, чтобы сначала располагались все элементы равные... подробнее

Показать сообщение отдельно
hazak
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 7

Б-дерево(B-tree) - C++

12.01.2010, 00:52. Просмотров 2201. Ответов 0
Метки (Все метки)

Доброе время суток всем, колдую над кодом уже который день. Вроде Б дерево создал, теперь нужно вывести на екран имя, которое начинается например на "a" или на "al" или на "tr" т.е. все ветки ниже последней буквы введенного слова, ну как в гугле пишеш пару букв а он тебе выдает варианты. У меня в коде может и есть ошибки, но в общем код работает. прошу помочь кто чем может, огромное спасибо.

P.S. И еще к каждому имени нада прикрепить номер тогда получится телефонная книга. Я думаю к каждому имени к последней букве прикрепить через указатель номер.Как думаете получится? Или у кого есть идеи?

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
#include<iostream>
using namespace std;
class list;
class node
{
public:
    char data;
    int count;
    node* next[25];
    node(void)
    {
        for(int k=0;k<=24;k++)
            next[k]=NULL;
        count=0;
    }
};
//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
class list
{
public:
    list(void)
    {
        head =new node; 
        head->data=0;
        head->count=0;
    }
    void insertWord(char word[]);
    void displayword(char word[]);
private:
    node* head;
};
//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
void list::displayword(char word[])
{
    node* currnode=head;
    for(int b=0;b<strlen(word);b++)
    for(int i=0;i<25;i++)
    {
        if(currnode->next[i]!=NULL)//rabotaet
        {
          if(currnode->next[i]->data==word[b])
          { 
              cout<<currnode->next[i]->data;
              currnode=currnode->next[i];
              break;
          }
        }
    }
    cout<<endl;
    //zdes' nujno napisat' kod, chto by vydaval na ekran vse vetki nije poslednei bukvy dannogo slova(word)
}
//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
void list::insertWord(char word[])
{
    node* currnode=head;
for(int b=0;b<strlen(word);b++)
{
  bool done=false;
  for(int i=0;i<25;i++)
  {
      if(currnode->next[i]!=NULL)//rabotaet
      {
          if(currnode->next[i]->data==word[b])
          {
                currnode->next[i]->count++;
                currnode=currnode->next[i];
                cout<<currnode->data<<" : "<<currnode->count<<endl;//proverka
                done=true;
                break;
          }
      }
  }
  if(done!=true)
  {
      for(int j=0;j<25;j++)
      {
          if(currnode->next[j]==NULL)//rabotaet
          {
              node* newnode= new node;
              newnode->data=word[b];
              newnode->count++;
              currnode->next[j]=newnode;
              cout<<newnode->data<<" : "<<newnode->count<<endl;//proverka
              currnode=currnode->next[j];
              break;
          }
      }
  }
  
}
//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 
}
int main(void)
{
    list name;  
    name.insertWord("assoc");
    name.insertWord("all");
    name.insertWord("algo");
    name.insertWord("also");
    name.insertWord("tree");
    name.insertWord("trie");
    name.displayword("al");
    getchar();
    return 0;
}
Пишу через транслит, не обращайте внимания на ошибки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru