List de l'aide svp

silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005 - 29 nov. 2005 à 09:47
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005 - 29 nov. 2005 à 18:12
Bonjour voilà je dois créer une liste et de la en faire l'affichage, mais cette affichage doit être fait particulierement.
Je m'explique je voudrais afficher la list à l'envers c'est à dire en partant du dernier element jusqu'au premier.
Voilà

Cela commencerais ainsi :

// List
list plt;
//iterator
list::iterator iter;
Mais pour le reste je seche je me doute qu'il va y avoir une boucle for pour récupérer les element de la list ect mais bon.

0 au faite cette liste est rempli vous inquiété pas... Mais elle est rempli ailleur par une class.

25 réponses

BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 09:52
Il faut que tu fasse un truc du genre:
for (iter=plt.end(); iter!=plt.begin(); iter--)
{...}

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 10:02
oui ca je savais qu'il fallais faire -- mais il doit y avoir autre chose du stylle back() car la ca marche pas
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 10:24
Montre-nous ton code d'affchage pour voir...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 10:27
void Clone::disp()
{
//iterator
list<Rule>::iterator iter;
cout << "essai" << endl;
for(iter=clone.begin();iter!=clone.end();iter--)
{
cout << "essai => " << iter->ext << endl;
}

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 10:40
Euh.... normal :P
Inverses donc end() et begin() et tu verras, ça ira beaucoup mieux...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 10:46
Et non cela ne fonctionne pas il me donne pas pourautant la liste en partant de la fin .... Je deseperer avec le C++ à force
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 11:02
Ok. Tu peux utiliser la fonction reverse() qui te renverse la liste (le dernier devient le premier,..)

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 11:10
et comment se présente la syntaxe ?
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 11:18
ta_list.reverse();

Je suis gentil: d'habitude, je réponds "MSDN"...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 11:24
ok merci et serais tu comment on copie une listou une partie d'une list fonction copie() un truc de se genre ??

Merci encore ! Je débute en C++ et je t'avourais que je suis pas du tout à l'aise avec se langage... Mais bon on se fait à tout.
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 11:31
enfiate je t'explique à au faite ca foncitonne il ma bien inversé ma liste. Voici comment elle se presente :

02.2 = 2;
02.3 = 3;
02.1 = 3;
02.1 = 2;
02.1 = 1;

Et en faite je les inversé cela donne donc le résultat ci-dessus, et maintenant je voudrais supprimer de la liste tous les éléments qui on la meme valeur pour ne garder que la premiere je te montre dasn l'exemple de ci-dessus. En réalité de la liste je ne voudrais que cela :

02.2 = 2;
02.3 = 3;
02.1 = 3;

on supprime 02.1 = 2;
02.1 = 1;
Je ne prend que le dernier de la famille 02.1

Voilà j'espere avoir é t preci moi en totu cas je flanche.
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 11:32
Essaie pluttôt cela, ça t"évitera de faire une copie et c'est ce que tu veux (affichage à partir du dernier)

list<Rule>::reverse_iterator riter;
for (riter=clone.rbegin(); riter!=clone.rend(); riter++)
{...}

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 11:34
Et désolé de t'avoir embrouillé avec la fonction reverse()... :(

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 11:42
Et pour mon probleme tu aurais une idée sur le dernier poste sinon oui sa marche avec le revers_iterator...
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 11:53
tu as la fonction unique() qui te supprime les doublons adjacents. Ce qui suppose que ta liste soit triée (avec sort() par exemple).
En gros, "10 10 20 10" deviendra (sans tri): "10 20 10"
"10 10 20 10" devient (en triant): "10 10 10 20" et donc "10 20"

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 12:39
ok mais il te garde quel 10 le premier ou le deuxieme et cela se presente comment le sort et unique() ca se passe comment.
T vraiment sympa
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 12:53
Ben le sort sera utile car le resultat dasn la list esty déjà trié donc je veux juste supprimer les doublon mais je connias pas du totu la fonciton unique .
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 13:11
MSDN!!
ta_liste.unique();
Dans le cas de valeurs adjacentes identiques, cette fonction garde la 1ère occurence et supprime les autres

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
silverfr78021959 Messages postés 45 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
29 nov. 2005 à 13:21
ben non ce"la ne marche pas voilà ce que j'ai fais

Ma liste dasn ma classe c'est list lt;

dasn ma fonction :

list::reverse_iterator it;
lt.unique();
for(it=lt.rbegin();it!=lt.rend();it++)
{
cout << "affichage de la liste" << it << endl;
}

il me marque

Instantiated from here
error : n,o match for operator=='in...
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 nov. 2005 à 13:41
cout << "affichage de la liste" << *it << endl;

Sinon, chez moi, ça marche très bien...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Rejoignez-nous