Salut,
Plusieurs trucs :
1) Impossible de compiler ton code.
2) typedef Pile *Ppile : mauvaise definition et de plus inutile. Il vaut mieux travailler avec :
Pile *maPile; -> C'est plus clair et va t'eviter beaucoup d'erreur. Du coup, tout est à refaire.
3) il faut revoir empiler et prevoir le cas ou ta pile est vide.
4) vide ne videra rien du tout. Il faut mieux utiliser depiler pour vider la pile.
Bon maintenant la marche à suivre pour depiler :
-Creer un pointeur temporaire et le faire pointer sur la tete de ta pile.
-Faire pointer la tete de ta pile sur son precedent.
-Faire un free sur le pointeur temporaire.
-------------------------------
Réponse au message :
-------------------------------
slt
tjs avec ma calculatrice des p'titsproblemes ...
ils faut que je recupere les valeurs saisies que cela soit nombre ou signe et les stock dans la pile memoire ... pour cela il faut que je fasse une header sur la pile.
J'arrive à un point ou je suis compeltement larguer !! J'ai reussi à faire la fonction empiler et free mais pour ce qui est de la fonction depiler mama mia ... j'ai des envie de suicides (virtuel ...)
voial mon code :
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
// Déclaration de la structure
typedef struct elt_pile
{
int element;
struct elt_pile * precedent; // elt_pile est de type struct
}Pile;
typedef Pile *Ppile; // ppile est de type Pile
void empiler(Ppile *p,int e)
{
// fonction empiler
Ppile PP;
if((pp=(elt_pile*) malloc(sizeof(elt_pile)))==NULL)
{
// si != de null on fait la suite
printf("Erreur ! Memoire non alloué \n");
exit(0);
}
pp->element=2;
pp->precedent=*p;
*p=pp
}
void vide(struct elt_pile precedent)
{
// vide la pile memoire
if (Ppile pp==NULL)
{
free(pp->elemnt);
free(p);
}
}
void depiler(Ppile *p)
{
// depile la pile memoire
}
si une bonne ames pouvait m'aider j'avoue que cela ne serait pas de refus.... je pense avoir fait les 2 premieres fonction corretement mais pour depiler je donne ma langue au programmeur ..
ciao
et merci d'avance pour tout aide ou remarque pouvant m'aider
ciao
Nonobis
