crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

tri_d
  опции профиля:
сообщение 14.12.2014, 17:20
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 14.12.2014
Пользователь №: 4292

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте. Есть текст. Получаю список всех слов методом text.split(' '). На основании данного списка хотелось бы получить другой список следующего вида - слово1(n), слово2(m), cлово3(o). В скобках указано, сколько раз конкретное слово встречается в исходном списке. Как это можно сделать? Дайте какие-нибудь идеи
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
tri_d
  опции профиля:
сообщение 15.12.2014, 17:49
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 14.12.2014
Пользователь №: 4292

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вот код

QStringList allWords = text.split(' ');

        QMap<QString,int> wordsMap;
        QStringList::iterator iter;
        QMap<QString,int>::iterator it;

        for(iter = allWords.begin();iter != allWords.end();++iter)
        {
            if(!wordsMap.contains(*iter))
            {
                wordsMap.insert((*iter),1);
            }
        }

        for(iter = allWords.begin();iter != allWords.end();++iter)
        {
            for(it = wordsMap.begin();it != wordsMap.end();++it)
            {
                if(wordsMap.contains(*iter))
                {
                    it.value()++;
                }
            }
        }

        for(it = wordsMap.begin();it != wordsMap.end();++it)
        {
            wordsLabel->setText(wordsLabel->toPlainText() + it.key() + "(" + it.value() + "), ");
        }


Вот что получается



Цифра в скобках (it.value) почему-то одинаковая для всех слов

или так



Показываются значки
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 25.4.2025, 2:08