Witam,
Pisze programik, co ma wczytać słowa ze strumienia wejściowego i zapamiętać je w kontenerze vector. Mam wykorzystać funkcję, do zliczania łącznej liczby słów ciągu wejściowego oraz do zliczania wystąpień poszczególnych słów w ciągu wejściowym.
O ile mam napisane:
- zapamiętywanie słów w kontenerze vector
- zliczanie słów ciągu wejściowego
To nie mam napisane zliczania wystąpienia poszczególnych słów w ciągu wejściowym. Nie wiem jak do tego zabrać się.
Kod:
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
istream& WczytajSlowa(istream& in, vector<string>& n)
{
if (in)
{
// pozbadz sie ewentualnych smieci w kontenerze
n.clear();
// wczytaj slowa
string slowo;
int licznikSlow = 0;
while (in >> slowo)
{
n.push_back(slowo);
licznikSlow++;
}
// podaj ilosc wystapienia slow
cout << "Slow, to" << licznikSlow << endl;
// wyzeruj strumien tak, aby dalo sie poprawnie wczytac oceny kolejnego studenta
in.clear();
}
return in;
}
int _tmain(int argc, _TCHAR* argv[])
{
vector<string> napis;
WczytajSlowa(cin, napis);
sort(napis.begin(), napis.end());
/*
// sprawdz powtarzalnosc napisu
for (int i=0; i < napis.size(); i++)
{
if (napis[i] == napis[i+1])
cout << "powtarza sie" << napis[i] << endl;
}
*/
system("pause");
return 0;
}