Fonctions Empiler , Depiler (verification) - C - Programmation
Marsh Posté le 14-11-2007 à 12:29:21
il a 4 pattes ton pointeur ? c'est quoi ce franglais "courant"
Marsh Posté le 14-11-2007 à 12:33:45
Si ton code compiles, il est correcte syntaxiquement. S'il ne compiles pas, il ne l'est pas.
Marsh Posté le 14-11-2007 à 12:34:13
courant est de type Cell:
typedef struct cell
{
double info;
struct cell * suivant;
}cell;
s'il ya des betises, corriger les moi svp
Marsh Posté le 14-11-2007 à 12:38:09
le code compile corectement, mais il ne fait pas son boulot . n'ya t'il pas de probleme avec la fonction depiler : temp=p->sommet->info (temp est un double)
Marsh Posté le 14-11-2007 à 12:26:36
Résoluuuuuuuuu
Re-bonjour
Est ce que vous pouvez me verifier si mes fonctions empiler et depiler sont correctes syntaxiquement!
void empiler(double x, pile *pp)
{
cell * courant;
courant = (cell *)malloc(sizeof(cell));
courant->info = x;
courant->suivant=pp->sommet ; // si la pile est vide, on crée la pile
pp->sommet=courant; //ratachement a l'ancien sommet
pp->nbElt=pp->nbElt + 1;
}
Ma fonction depiler doit retourner la valeur depilée
double depiler(pile *pp)
{
double ValeurDepile;
double temp; // pour stocker la premiere valeur
pcell courant;
if (pp->sommet != NULL)
{
temp = pp->sommet->info;
pp->nbElt = pp->nbElt - 1;
courant = pp->sommet; //pour liberer la memoire après!
pp->sommet=pp->sommet->suivant; //si pile contient 1 elt, elle devient vide!
free(courant);
ValeurDepile = temp;
}
return ValeurDepile;
}
Merci d'avance
Message édité par tarek316 le 14-11-2007 à 13:52:26