begin process at 2012 05 29 10:47:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

effacement d'element d'un vecteur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

effacement d'element d'un vecteur

mercredi 31 mai 2006 à 17:11:48 | effacement d'element d'un vecteur

tomalille

Bonjour,
j'ai un probleme avec l'une de mes methodes. Celle-ci efface l'element d'un vecteur. Malheureusement elle ne fonctionne jamais pour le dernier element du vecteur.
Voici mon code:
void Graphe::effacerArete(int nomOrigine,int nomDestination)/*Attention, il n'efface pas la derniere arete du vector*/
{
    ARETE a;
    int i = 0;
    vector<ARETE>::const_iterator itr = aretes.begin();
    vector<ARETE>::const_iterator fin = aretes.end();
    int test = 0;
    if(!existeArete(nomOrigine,nomDestination))
    {
        cout << "ERREUR: L'arete que l'on veut effacer n'existe pas : "<< nomOrigine << " " << nomDestination << endl;
        test = true;
    }

    while(itr != fin && test!=2)
    {
        a = *itr;
        if((a.origine == nomOrigine && a.destination == nomDestination)  || (a.origine == nomDestination && a.destination == nomOrigine))
        {
            cout << "ON A EFFACER L'ARETE : "<< a.origine << " " << a.destination << endl;
            aretes.erase(aretes.begin() + i);
            test ++;
        }
        itr ++;
        i ++;
    }
}

Quelqu'un peut il me renseigner sur ce probleme?
Merci d'avance,
Thomas
mercredi 31 mai 2006 à 20:02:42 | Re : effacement d'element d'un vecteur

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Dans ton while, tu ne dois pas incrémenter itr à chaque fois, mais seulement quand tu ne fais pas d'erase: while(itr != fin && test!=2) { a = *itr; if(...) { itr = aretes.erase(aretes.begin() + i); test ++; } else itr ++; i ++; }


Cette discussion est classée dans : int, element, vecteur, nomorigine, nomdestination


Répondre à ce message

Sujets en rapport avec ce message

vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable Retourner un vecteur se trouvant dans une fonction [ par did2604 ] Bonsoir,J'ai une fonction qui traite les élements d'un tableau (t) et les met dans un vecteur (v2). Une fois cela fait, je demande à ce que les valeur problème pointeur comprends pas... [ par monstrobaf ] voila je comprends plus rien...ca compile mais l'affichage donne n'importe quoi . comment ca se fait ?void Pile::empile(const element elt){ eleme Help!!! [ par scyrille ] Bonjour,J'essaye de faire deux classes : 1 - une classe vecteur (un tableau unidimensionnel de nombres) (K = float par exemple) :class Vecteur{ public produit de deux vecteurs à n dimensions [ par cam_b ] bonjour, voici le code que j'ai tapé pour tout d'abord demander à l'utilisateur les coordonnées des deux vecteurs X et Y et je dois écrire une foncti lister un tableau de string [ par minet03 ] Soyons bref, je suis en train de bosser sur un code qui liste les srting d'un tableau, seul problème c'est qu'il y a des problèmes !Voici mon code :vo suppression d'un element dans un vecteur [ par CeNedra83 ] je dispose d'un vecteur de 24 doubles. je voudrais supprimer le premier element, puis les afficher. l'affichage se fait bien, mais juste après le pro aide petit prog c [ par mayapour ] Bonjour, Débutant en C, je souhaiterai savoir comment changer ce programme initiale (liste chainée) qui demande à l'utilisateur de choisir les optio débordement de la mémoire [ par imanedaoudi ] Hi,je ne sais plus pourquoi le programme ci contre ne marche plus pour dim trés grande 60 par exemple#includeusing namespace std;void main(int argc, c


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales