Bonjour a tous,
Je termine ma première session en programmation c++ et je dois remettre un travail dont l'un des numéro me cause beaucoup de problème.
citation du travail pour mettre dans le contexte:" Écrire un programme qui utilise le mot-clé THIS dans la gestion d'une liste chaîné de 20 objets de même nature."
J'ai plancher pas mal sur la partie liste chaîné et grâce a de l'aide je suis arriver à faire le code suivant qui est une liste doublement chaîné du moins sa fonction. voici le code:
Mon nouveau problème est que THIS est très simplement expliquer dans mon manuel du genre this est un pointeur sur objet et *this est l'objet lui-même. HA! oui y a pas vraiment plus que sa comme explication donc je vois pas pourquoi on l'utilise vraiment et comment je pourrais non plus l'inclure dans une fonction de mon code pour remplir les exigence de l'exercice. Sur le net, j'ai lu pas mal et je trouve jamais de texte qui en parle clairement comme on parle des variable ou tableau oû là le texte est très claire et les exemples aussi. Je ne demande pas à ce que l'on me termine mon TP, mais bien à ce qu'on m'ouvre l'esprit à comprendre ce que je ne vois pas ou comprend pas.
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 #include <iostream> #include <stdlib.h> using namespace std; struct Element { int valeur; Element* precedent; Element* suivant; }; Element* premier = NULL; Element* dernier = NULL; void Ajouter(int valeur) { //Créer l'élément. Element* element = new Element; //Vérifier s'il y a un premier élément dans la liste. if(dernier == NULL) { Element* dernier=element; } //L'élément créer devient l'élément précédent du premier élément de la listeactuel. if(premier!=NULL) { premier->precedent=element; } //L'élément est placé en début de liste, le premier élément devien le suivant de cette élément. element->suivant=premier; premier=element; //Le nouvelle élément est le premier de la liste donc, précédent est null. element->precedent=NULL; element->valeur=valeur; } void Afficher() { Element* element = premier; while(element != NULL) { cout << element->valeur << "\t"; element = element->suivant; } cout << endl; } int main() { cout << "Hello world!" << endl; Element* e; for(int i=1; i<=20; i++) { Ajouter(i); } Afficher(); return 0; }
merci à ceux qui prendront le temps de aider
mathieu
Partager