Réponse acceptée !
Utilise une std::map !
Cette collection te permet d'associer deux type ensembles. Par exemple un std::string avec un entier.
C'est comme si on créait des colonnes, et que l'on associait un mot avec un entier.
Ex: map["pouet"] = 3;
Si on fait std::cout << map["pouet"];, on aura donc 3.
Si map["pouet"] n'existe pas, il est crée automatiquement.
Donc lorsque l'on fait ++map["pouet"], "pouet" sera crée et l'on aura 1 d'associé avec.
Juste en faisant:
while (ifs >> s)
++map[s];
Je peux associer tous les mots avec leur nombre d'occurence.
Ex:
Code C/C++ :
#include <iostream>
#include <fstream>
#include <map>
int main()
{
std::ifstream ifs("in.txt") ;
std::string s;
std::map<std::string, int> map;
while (ifs >> s)
++map[s];
typedef std::map<std::string, int>::const_iterator iter;
for (iter it = map.begin(); it != map.end(); ++it)
std::cout << "le nombre d'occurence du mot " << it->first << " est " << it->second << std::endl;
return 0;
}
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
[color=green]Merci d'utiliser [i]Réponse acceptée[