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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка операторов http://www.cyberforum.ru/cpp-beginners/thread261453.html
Здравствуйте все. Начали проходить ООП, но хотелось бы узнать больше, подскажите пожалуйста кто знает хорошие книги с грамотным описанием перегрузок операторов, с простыми примерами. Буду весьма признателен.
C++ Вычислить значение выражения Линейная программа. http://www.cyberforum.ru/cpp-beginners/thread261448.html
C (СИ) Совпадающие числа
Помогите пожалуйста замутить прогу. Условие: Даны натуральное число n, целые чила а1,...аn. Выеснить, имеется ли среди чисел а1,...аn совподающие. ТОЛЬКО С КОДОМ С, С++ НЕНАДО!!! Заранее спс!!!
Определить наибольший элемент в каждом столбце заданной прямоугольной матрицы В. Вычислить сумму элементов 3-г C++
Определить наибольший элемент в каждом столбце заданной прямоугольной матрицы В. Вычислить сумму элементов 3-го столбца.
C++ Литература (углублённая) http://www.cyberforum.ru/cpp-beginners/thread261211.html
Тут вопрос всплыл. Кроме литературы по конкретным языкам, операционным системам, всяческих API существуют ли книги, разбирающие компьютерные технологии в корне. Т.е. архитектуры процессоров, работа с памятью, память... Углублёнка так сказать :)
C++ ГСЧ для float из всего диапазона Ребят, подскажите, пожалуйста, как можно сгенерировать число типа float из всего диапазона данного типа? Причем, если получится NaN, +Inf, -Inf перегенерировать это число? Как можно реализовать данную проверку? Заранее спасибо. подробнее

Показать сообщение отдельно
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
30.03.2011, 12:59  [ТС]     Создание структуры "префиксное дерево". Ошибка "Access violation writing location".
Закодил мапой:
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;
        }
    };
 
Текущее время: 15:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru