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

Напечатать все слова, которые встречаются в предложении по одному разу - C++

Восстановить пароль Регистрация
 
LaisT
Сообщений: n/a
23.04.2012, 07:09     Напечатать все слова, которые встречаются в предложении по одному разу #1
Доброго времени суток! Помогите, пожалуйста, решить задачу:

Дано предложение. Напечатать все слова, которые встречаются в нём по одному разу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2012, 07:09     Напечатать все слова, которые встречаются в предложении по одному разу
Посмотрите здесь:

Напечатать все слова последовательности, которые встречаются в ней по одному разу. C++
C++ Вывести символы, которые встречаются в исходном предложении по одному разу
Напечатать все слова последовательности, которые встречаются по одному разу C++
C++ Сненерировать случайным образом массив. Вывести числа, которые встречаются в массиве только по одному разу
Определить какие слова встречаются в строке по одному разу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
23.04.2012, 10:21     Напечатать все слова, которые встречаются в предложении по одному разу #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <vector>
#include <iostream>
#include <vector>
#include <sstream>
#include <string>
#include <algorithm>
 
using namespace std;
 
int main()
{
    cout << "Please input text:\n";
    string text;
    getline(cin, text);
 
    istringstream is(text);
    string word;
    vector<string> words;
 
    while (is >> word)
    {
        words.push_back(word);
    }
 
    for_each(words.begin(), words.end(), [&](string& s)
    {
        if (count(words.begin(), words.end(), s) == 1)
        {
            cout << s << '\n';
        }
    });
    return 0;
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
23.04.2012, 18:12     Напечатать все слова, которые встречаются в предложении по одному разу #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <map>
#include <sstream>
 
int main()
{
    std::string s("aa ddd aa aaa dd");
    std::istringstream iss(s);
    std::map<std::string, std::size_t> map;
    while(iss >> s)
    {
        ++map[s];
    }
    for(auto val : map)
    {
        if(1 == val.second) std::cout << val.first << std::endl;
    }
    return 0;
}
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
24.04.2012, 00:25     Напечатать все слова, которые встречаются в предложении по одному разу #4
igorrr37, и как у вас компилируется строка с for? это в новых стандартах такое чтоли?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
24.04.2012, 05:54     Напечатать все слова, которые встречаются в предложении по одному разу #5
да, gcc 4.6.1. уже поддерживает
LaisT
Сообщений: n/a
24.04.2012, 07:01     Напечатать все слова, которые встречаются в предложении по одному разу #6
Спасибо большое всем!
Yandex
Объявления
24.04.2012, 07:01     Напечатать все слова, которые встречаются в предложении по одному разу
Ответ Создать тему
Опции темы

Текущее время: 23:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru