Расчет количества разных слов в тексте

Необходимо подсчитать количество уникальных слов в тексте. Как сделать цикл чтобы подчитать количество? Вот что у меня есть.

    int main()
{
   SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char str[N];
    printf("Введите текст");
    gets_s(str); 
}

Ответы (1 шт):

Автор решения: vlad9i2

Можно так:

  • unordered_set будет хранить только уникальные значения слов и его размер будет равен количеству уникальных слов.
  • ss >> s будет клась в s очередное слово, написанное через пробел после предыдущего.
char str[N];
printf("Введите текст");
gets_s(str); 
std::unordered_set<std::string> st;
std::stringstream ss;
ss << str;
std::string s;
while (ss >> s) {
    st.insert(s)
}
std::cout << st.size() << std::endl;
→ Ссылка