Deux meme string dans un vecteur.

Résolu
frayst Messages postés 31 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 juin 2007 - 18 juin 2007 à 17:43
frayst Messages postés 31 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 juin 2007 - 19 juin 2007 à 17:41
Voila je vous explique ma situation :


J'ai un vecteur string dans lequel jattribue des mots (dont certains sont les memes = Bonjour et Salut) :


vector<string> vec;

vec.push_back("Bonjour");

vec.push_back("Hey");

vec.push_back("Salut");

vec.push_back("Bonjour");

vec.push_back("Merci");

vec.push_back("Salut");


J'ai un autre vecteur string dans lequel jajoute tous les textes du premier vecteur :


vector<string> vecFinal;

for(int cList = 0; cList < vec.size(); cList++)

            vecFinal.push_back(vec[cList].c_str());


Cependant, pendant ce transfert de vecteur (vec) à l'autre (vecFinal), jaimerais qu'il n'y ai plus de mots similaires.

Resultat final : Bonjour || Hey || Salut || Merci et non Bonjour || Hey || Salut || Bonjour || Merci || Salut


Voila, merci beaucoup pour votre aide et explication.

frayst

2 réponses

THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008
19 juin 2007 à 15:52
Tu peux créer un fonction de recherche de doublon que tu appelles avant de mettre ton mot dans le vecteur vecFinal genre:


for(int cList = 0; cList < vec.size(); cList++)

            if( Doublon( vecFinal, vec[cList].c_str() ) == false )

              
        vecFinal.push_back(vec[cList].c_str());

 

et ta fonction doublon parcours simplement ton vecteur a la recherche
du mot et retourne true si ce mot a effectivement deja ete inséré.


Sinon vérifie dans la STL que la fonction suppression de doublon n'existe pas deja.
3
frayst Messages postés 31 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 17:41
Merci bien.

frayst
0