Witam chciałem napisać program do zliczania słów ile razy występowały. Robię to tylko przy pomocy wektorów (po to by się uczyć) wiem że do tego wykorzystujemy count() oraz map(). Ale postanowiłem zobaczyć czy udam mi się rozwiązać ten problem przy pomocy wektorów a później chce to samo na listach. Ma dziwny problem bo program działa tylko poprawni kiedy podam coś takiego {ee gg ara ara} wtedy zlicza poprawnie: ee 1 gg 1 ara 2 w innych przypadkach mam głupoty.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int k = 1;
vector<string> words;
// vector<string> usedWords = ;
for (int i = 0 ; i < 4 ; ++i)
{
string addWords;
cin >> addWords;
words.push_back(addWords);
}
for ( int i = 0; i < words.size() ; ++i)
{
for ( int j = i + 1 ; j < words.size() ; ++j)
{
if ( words[i] == words[j] )
{
words.erase(words.begin()+j);
k++;
}
}
// if (words[i] == usedWords(usedWords.begin(),usedWords.end() ) )
// int count_words = count(words.begin() , words.end(), words[i]);
cout << "slowo " << words[i] << " wystepuje: " << k << endl;
}
return 0;
}