Bonjour,
Je suis confrontée à un problème que je n'arrive pas à résoudre et surtout je ne comprend pas pourquoi le code pose problème.
Je dispose de :
Et de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 list<pair<int, string>> TypeList; list<pair<int, int>> ClassList;
Je parcours deux listes dans deux boucles FOR imbriquées et je souhaite vérifier que si le premier element de chaque paire est le même alors ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 list<pair<int,string>>::iterator iter = TypeList.begin(); list<pair<int,int>>::iterator iter1 = ClassList.begin();
J'ai mis des affichage bidon pour comprendre mais la seconde boucle FOR est parcouru qu'une seule fois lors de son premier passage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 for(;iter != TypeList.end(); iter++) { cout << "Premier passage : " << (*iter).first << endl; getchar(); for(;iter1 != ClassList.end(); iter1++) { cout << "deuxième passage : " << (*iter1).first << endl; getchar(); if ((*iter1).first == (*iter).first) { cout << "troisième passage : " << (*iter).first << " et " << (*iter1).first << endl; getchar(); } } }
Pourquoi on ne rentre pas dans la boucle FOR à chaque passage dans la grande boucle ?
Si vous avez une idée(je suis sûre que c'est gros comme une maison et que je ne vois rien)
Merci d'avance pour vos réponses
Partager