1

Тема: Cтроки c++

З клавіатури вводиться текстовий рядок. Написати програму, яка підраховує кількість різних слів.
Я написав код який просто підраховує кількість слів. Підкажіть як зробити щоб підраховував кількість різних слів?

#include <stdio.h>
#include<string.h>
#include <iostream>
 
using namespace std;
int main(){
int k;
    const int n = 100;
 
char str[n];
gets(str);
 
 
  char * pch = strtok (str," ,.-"); 
 
  while (pch != NULL)                         
  {
   k++;
      pch = strtok (NULL, " ,.-");}
      cout<<endl<<k;}

2

Re: Cтроки c++

Визначіться на чому пишете (С чи С++).
Для визначення "унікальності" зазвичай використовують різного роду хеш таблиці

3 Востаннє редагувалося Yola (19.11.2016 13:40:14)

Re: Cтроки c++

Папаша, ну ви даєте, навіщо давати посилання на рувікі? якщо стаття є й на укрвікі? *WALL*  При тому що на укрвікі я її неповністю переклав з англійської, а на рувікі через 2 місяці її переклали з мого перекладу. *FACEPALM*  Ганьба!

Хеш-таблиця


------------

  int k = 0; // ініціалізувати - обов'язково
...
  unordered_set<std::string> strings;
  while (pch != NULL)                         
  {
     if (myset.insert(pch).second) k++;
     pch = strtok (NULL, " ,.-");}
  }
  cout<<k<<endl;
Подякували: koala, NaharD, 0x9111A, P.Y., ANGEL, leofun016

4

Re: Cтроки c++

Yola написав:

Папаша, ну ви даєте, навіщо давати посилання на рувікі? якщо стаття є й на укрвікі? *WALL*  При тому що на укрвікі я її неповністю переклав з англійської, а на рувікі через 2 місяці її переклали з мого перекладу. *FACEPALM*  Ганьба!

Каюсь, що перше гугл видав то і вставив, на роботі голова забита

5 Востаннє редагувалося koala (19.11.2016 14:42:14)

Re: Cтроки c++

Я вам відкрию секрет: Гугл дає персоналізовані результати, під ваші налаштування і попередні пошукові запити. Мені, наприклад, на запит "хеш таблиця" взагалі не видає рувікі на першій сторінці.

6

Re: Cтроки c++

Якщо вже на то пішло то гуглив я "хеш мапа"

Подякували: Yola1