probleme .....
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

probleme .....



  1. #1
    invite8f2dd2d9

    Question probleme .....


    ------

    salut tout le monde,
    je voudrais depilerune pile mais apparemment ça marche pas bien;
    après la fonction de:
    Code:
    pile depiler(pile P);
    on m'affiche une pile vide,on doit m'afficher une pile avec le dernier élément supprimé,non?
    par exemple :
    soit une pile :
    10 9 8 .... 0
    après depiler:
    la pile devient:
    9 8 7 ......0

    voici le code:
    Code:
    typedef struct element
    {
            int donnee;
            struct element* precedent;
    }maillon;
    typedef maillon* pile;
    
    pile empiler(pile,int);
    pile depiler(pile);
    void affichage(pile);
    
    int main()
    {
        pile mapile=NULL;
        int i;
        
        for (i=0 ; i<=10 ; i++)
        mapile=empiler(mapile,i);
        printf("\navant:\n");
        affichage(mapile);
        
        mapile=depiler(mapile);
        printf("\napres:\n");
        affichage(mapile);
        getch();
        return 0;
    }
    
    pile empiler(pile P,int valeur)   
    {
         maillon* nvP=(maillon*)malloc(sizeof(maillon));
         
         if (nvP!=NULL)   
         {                 
                            nvP->donnee=valeur; 
                          if (P==NULL)
                          {
                          P=nvP; 
                          nvP->precedent=NULL;
                          return P;
                          }
                          else 
                          {
                               nvP->precedent=P;   
                               P=nvP;          
                               return P;
                          }
                                             
         }
    }
    
    void affichage(pile P)
    {
      maillon* temp=P;
      while (temp!=NULL) 
      {
            printf("%d \n",temp->donnee);
            temp=temp->precedent; 
            
      }   
    }
    
    pile depiler (pile P)  
    {
         if (P==NULL)  
         return NULL;
         if (P->precedent=NULL) 
         {
                                free(P);
                                return NULL;
         }
         
         maillon* temp=P->precedent; 
         free(P);
         P=temp;  
         return P;
    }
    merci de m'aider!

    -----

  2. #2
    invite8f2dd2d9

    Question Re : probleme .....

    aidez moi svp

  3. #3
    invite1acecc80

    Re : probleme .....

    Re,

    Citation Envoyé par wikiele Voir le message
    aidez moi svp
    Si tu veux, il y a un site (avec un forum de dév.): http://www.developpez.com/

    qui pourra peut-être t'aider

    A plus.

Discussions similaires

  1. Réponses: 11
    Dernier message: 26/05/2011, 12h27
  2. problème d'équation et aussi un autre problème de maths
    Par invitefab47bfd dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 23/09/2009, 19h08
  3. Un petit problème qui me pause problème lol
    Par invitef2853e5d dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 31/03/2009, 15h28
  4. problème avec un lecteur mp4(le problème vient de l'ordinateur)
    Par inviteaca1b987 dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 29/10/2007, 16h53
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...