pile , la fonction qui depile ne marche pas [résolu]

pile , la fonction qui depile ne marche pas [résolu] - C - Programmation

Marsh Posté le 01-01-2012 à 19:39:33    

Bonjour a tous
 
           voila j'ai des fonctions donné par notre prof pour résoudre un exercice de pile mais ces dernières ne compile pas
 
 

Code :
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4. #include<malloc.h>
  5. typedef struct elt{ int info; struct elt *svt;}pile;
  6. void initpile (pile **sommet)
  7. {*sommet=NULL;}
  8. void empiler (pile **sommet , int x)
  9. { pile *p;
  10. p=(pile *) malloc(sizeof(pile));
  11. p->info=x;
  12. p->svt=*sommet;
  13. *sommet=p;}
  14. void depiler(pile **sommet,int *x)
  15. { pile *p;
  16. p=*sommet;
  17. *x=*sommet->info;   /* erreur ici */
  18. *sommet=*sommet->svt;
  19. free(p);
  20. }


 
 
la fonction empile marche très bien mais dépile ne marche pas et l'erreur signalé est que " info n'est pas déclaré "  
 
merci pour votre aide

Message cité 1 fois
Message édité par Dayire le 01-01-2012 à 23:23:41
Reply

Marsh Posté le 01-01-2012 à 19:39:33   

Reply

Marsh Posté le 01-01-2012 à 21:11:43    

A tout hasard essaie: *x = (*sommet)->info;


---------------
Seul Google le sait...
Reply

Marsh Posté le 01-01-2012 à 21:14:39    

Dayire a écrit :

                                           Bonjour a tous
 
           voila j'ai des fonctions donné par notre prof pour résoudre un exercice de pile mais ces dernières ne compile pas
 
 

Code :
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4. #include<malloc.h>
  5. typedef struct elt{ int info; struct elt *svt;}pile;
  6. void initpile (pile **sommet)
  7. {*sommet=NULL;}
  8. void empiler (pile **sommet , int x)
  9. { pile *p;
  10. p=(pile *) malloc(sizeof(pile));
  11. p->info=x;
  12. p->svt=*sommet;
  13. *sommet=p;}
  14. void depiler(pile **sommet,int *x)
  15. { pile *p;
  16. p=*sommet;
  17. *x=*sommet->info;   /* erreur ici */
  18. *sommet=*sommet->svt;
  19. free(p);
  20. }


 
 
la fonction empile marche très bien mais dépile ne marche pas et l'erreur signalé est que " info n'est pas déclaré "  
 
merci pour votre aide


 

Code :
  1. void depiler(pile **sommet,int *x)
  2. { pile *p;
  3. p=*sommet;
  4. *x=(*sommet)->info;   /* erreur ici */
  5. *sommet=(*sommet)->svt;
  6. free(p);
  7. }


Grillé  :??:

Reply

Marsh Posté le 01-01-2012 à 23:23:02    

merci de vos réponse mais on ma donner la solution mais ce n’était pas les parenthèse :)

Reply

Marsh Posté le 02-01-2012 à 08:49:34    

p->info par exemple ?

Reply

Marsh Posté le 02-01-2012 à 10:16:21    

Dayire a écrit :

merci de vos réponse mais on ma donner la solution mais ce n’était pas les parenthèse :)


 
Super, ça va beaucoup aider la personne qui aura le même souci :jap:


---------------
Gamertag: CoteBlack YeLL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed