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

Создание структуры "префиксное дерево". Ошибка "Access violation writing location". - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Композиция и иерархия http://www.cyberforum.ru/cpp-beginners/thread261583.html
Создать класс кнопка , которая имеет размер. Определить конструкторы и метод доступа. Создать класс окно, содержащее класс кнопка. Дополнительно есть координаты окна. Определить конструкторы и...
C++ Основные управляющие структуры Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале x_нач до x_кон с шагом dx с погрешностью е. Таблицу снабдить заголовком и шапкой. Каждая... http://www.cyberforum.ru/cpp-beginners/thread261581.html
C++ Перегрузка операторов и доступ к закрытым членам
Поясните, пожалуйста, почему, когда при перегрузке операторов, елис как аргумент передается ссылка на обьект класса, то через эту ссылку мы имеем досуп з закрытым членам этого класса? Насколько я...
Перевод с 2сс в любую C++
Помогите пожалуйста начинающему программисту написать алгоритм перевода двоичного числа в 8,10,16 системы счисления. Если можно с описанием что бы не скопировать, а разобраться.
C++ Работа с уже созданным файлом http://www.cyberforum.ru/cpp-beginners/thread261573.html
Запускаю программу,создаю при помощи функции файл(функцию создания файла уже не скидывал).Затем выхожу из программы.Потом опять захожу в программу и данная функция не хочет работать с уже созданным...
C++ Ошибка Declaration terminated incorrectly Declaration terminated incorrectly 1.cpp #include <stdio.h> #include <string.h> #include <iostream.h> #include <conio.h> #include "add.h" void main(){ int i,n,op,vyh=0; rozklad x; подробнее

Показать сообщение отдельно
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
30.03.2011, 12:59  [ТС]
Закодил мапой:
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
    class T
    {
        map<char,T *> m;
    public:
        T(){}
        void add(string s){
            if (s.length() > 0){
                if (!this->m[s[0]]){
                    T * tmp = new T();
                    tmp->add(s.substr(1));
                    this->m[s[0]] = tmp;
                }else {
                    this->m[s[0]]->add(s.substr(1));
                }
            }
        }
        int lenght(){
            if (m.empty()) return 1;
            int res = 0;
            map<char,T *>::iterator it;
            for (it = m.begin(); it != m.end(); ++it)
                res += it->second->lenght();
            return res;
        }
    };
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.