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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Hellraiserrr
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 24
#1

Задача со строками(найти в тексте определенные слова) - C++

26.11.2011, 15:40. Просмотров 856. Ответов 4
Метки нет (Все метки)

Ребят, помогите с задачкой:
В имеющемся словаре найти группы слов, записанных одними и теми же буквами и отличающиеся только их порядком, то есть перестановкой, например, (КОМАР, КОРМА).
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2011, 15:40     Задача со строками(найти в тексте определенные слова)
Посмотрите здесь:
Задача на замену слова в тексте C++
C++ Найти слова в заданном тексте, состоящие из цифр и сумму чисел, которые образуют эти слова
C++ Работа со строками. Найти длину самого короткого слова.
C++ Найти ключевые слова в тексте
Во введенном тексте найти повторяющиеся слова C++
C++ Найти в тексте все слова анаграммы
Найти среднюю длину слова в тексте C++
C++ Найти слова с онк и енк в тексте
C++ Найти количество повторений слова в тексте
Найти в тексте количество вхождений определенного слова C++
C++ Найти в тексте слова, длина которых 4 буквы
Найти в тексте первое вхождение заданного слова (С++) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dmitry_gdv
64 / 64 / 5
Регистрация: 18.03.2010
Сообщений: 352
26.11.2011, 15:54     Задача со строками(найти в тексте определенные слова) #2
смотри
можно сохранить первое слово
потом в for() пройтись по его strlen по всем буквам
и сравнить их функцией strpbrk() c каждой буквой второго слова - внутренний фор
если всё совпало - тогда ok.
там даже порядок будет произвольный.
Hellraiserrr
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 24
26.11.2011, 16:17  [ТС]     Задача со строками(найти в тексте определенные слова) #3
Цитата Сообщение от Dmitry_gdv Посмотреть сообщение
смотри
можно сохранить первое слово
потом в for() пройтись по его strlen по всем буквам
и сравнить их функцией strpbrk() c каждой буквой второго слова - внутренний фор
если всё совпало - тогда ok.
там даже порядок будет произвольный.
ну я думал алгоритм с массивом строк, запихнуть в каждый элемент по слову и по сравнивать каждый с каждым, так не могу никак разобраться. Массив строк описывается вроде так char str[50][25], а когда сравниваю str[i], там одни ошибки.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
26.11.2011, 16:33     Задача со строками(найти в тексте определенные слова) #4
Такое задание было буквально пару дней назад,там я дал алгоритм здесь выкладываю реализацию
Здесь данные берутся из файла в предположении что каждая строка содержит одно слово
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
#include<iostream>
#include<fstream>
#include<algorithm>
#include<set>
#include<map>
#include<string>
using namespace std;
typedef map<set<char>,string>m_map;
int main() {
    ifstream inf("words.txt");
    string str;
    m_map grmap;
    while(true) {
        if(inf.eof())break;
        getline(inf,str);
        set<char>ch_s(str.begin(),str.end()); //ch_s содержит каждую букву
        //1 раз
        if(!(grmap.insert(make_pair(ch_s,str))).second) {//если такой
            grmap[ch_s]+=" "+str;//ключ уже есть добавить в группу
            //новое слово
        }
    }
    inf.close();
    m_map::iterator it;
    it=grmap.begin();
    for(;it!=grmap.end();it++) {
    string s((*it).first.begin(),(*it).first.end());
        cout<<s<<" "<<(*it).second<<endl;
    }
    cin.get();
    return 0;
}
Dmitry_gdv
64 / 64 / 5
Регистрация: 18.03.2010
Сообщений: 352
26.11.2011, 17:46     Задача со строками(найти в тексте определенные слова) #5
щас глянем ...
Yandex
Объявления
26.11.2011, 17:46     Задача со строками(найти в тексте определенные слова)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru