Najczęściej występujące słowo w tablicy

0

Poszukuję algorytmu, który wyszuka najczęściej występujące słowo z tablicy stringów.
Nie byłoby problemu, kiedy tablica była typu int, lecz jest ona typu string:(
PROSZĘ O POMOC

0

std::string ? To można zrobić tak (pomysł tak na szybko): algorytm count() z STL policzy Ci ilość wystąpień słowa. Ilość wystąpień (to co zwróci count() ) wrzucasz do mapy gdzie pierwsza pozycja to słowo a druga to zwrócona wartość count(). Potem badasz który second jest największy i czy nie nie jest równy z first.

edit
A wybacz, kluczem w mapie musi być ilość ilość wystąpień, dlatego wynik count() wrzucasz jako klucz i słowo z tablicy jako drugie w parze. Porównujesz potem wielkości wszystkich kluczy i badasz czy słowa pod dwoma badanymi kluczami nie są równe.

0

? Robimy mape std::mapstd::string,int i robimy:

std::map<std::string,int> mapka;
for(int i=0;i<ilosc_slow;i++)
  mapka[slowa[i]]++;

A potem iterujemy po mapce i wyciągamy taki element mapka[i]->first dla którego mapka[i]->second jest największe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1