Fonctions Empiler , Depiler (verification)

Fonctions Empiler , Depiler (verification) - C - Programmation

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! :cry:  
 

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
Reply

Marsh Posté le 14-11-2007 à 12:26:36   

Reply

Marsh Posté le 14-11-2007 à 12:29:21    

il a 4 pattes ton pointeur ? c'est quoi ce franglais "courant"

Reply

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.

Reply

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

Reply

Marsh Posté le 14-11-2007 à 12:38:09    

le code compile corectement, mais il ne fait pas son boulot  :pfff: . n'ya t'il pas de probleme avec la fonction depiler : temp=p->sommet->info  (temp est un double)

Reply

Marsh Posté le 14-11-2007 à 14:53:48    

if (pp && pp->sommet) ...

Reply

Sujets relatifs:

Leave a Replay

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