Deux meme string dans un vecteur.

[Résolu]
Signaler
Messages postés
31
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
19 juin 2007
-
Messages postés
31
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
19 juin 2007
-
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

Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

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.
Messages postés
31
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
19 juin 2007

Merci bien.

frayst