IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

afficher les element d'une file


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Par défaut afficher les element d'une file
    bonjour
    je veux cree une fonction qui affiche les element de la file suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    typedef struct noeud * p;
    typedef struct noeud
     {
      int valeur;
      p suivant;
    }Noeud;
     
    typedef struct file
     {
      p tete,queue;
     }File;
     typedef File * pfile;
    mai j'arrive pas
    est ce que vous pouer m'aider?
    merci

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    En gros:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    do{
    v=noeud_courant->valeur;
    printf("%d ",v);
    noeud_courant=noeud_courant->suivant;
    }while(suivant!=NULL);

  3. #3
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Une version récursive:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void affiche_file(pfile p){
    if(p==NULL){
    return;
    }
    int v=pfile->valeur;
    printf("%d ",v);
    affiche_file(p->suivant);
    return;
    }
    Comme toujours sous réserve...

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Par défaut
    merci mai j'ai essaye cette fonction elle affiche une fois apres un deuxieme apel il fonctionne plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void afficher(pfile fil)
    {
      if (file_vide(fil)==0)
       printf("affichage : fil vide\n");
    	while(fil->tete->suivant!=NULL)
          {
    	printf(" %d",fil->tete->valeur);
    	fil->tete=fil->tete->suivant;
          }
           getch();
      }

  5. #5
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Pas la peine de repasser tout le temps par la tête de la file:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while(fil->suivant!=NULL)
          {
    	printf(" %d",fil->valeur);
    	fil=fil->suivant;
          }
    devrait suffire.
    Il suffit de bien démarrer par la tête de la file puis aller de "Noeud" en "Noeud".

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par seriousme
    Il suffit de bien démarrer par la tête de la file puis aller de "Noeud" en "Noeud".
    C'est l'effet tête de noeud...


  7. #7
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Par défaut
    ok
    j'ai essaye cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while(fil->suivant!=NULL)
          {
    	printf(" %d",fil->valeur);
    	fil=fil->suivant;
          }
    mai si je passe pas par la tete ça marche pas la valeur et suivant ne seron pas connu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Afficher les elements d'une liste
    Par mlio91 dans le forum Développement Sharepoint
    Réponses: 6
    Dernier message: 21/02/2014, 16h51
  2. Parcourir et afficher les elements d'une liste chainee
    Par student_ dans le forum Débuter
    Réponses: 15
    Dernier message: 22/12/2009, 21h48
  3. Réponses: 10
    Dernier message: 18/06/2009, 13h27
  4. Réponses: 9
    Dernier message: 31/05/2009, 03h59
  5. Afficher les elements stockés dans une liste
    Par Triste dans le forum Débuter
    Réponses: 3
    Dernier message: 15/10/2007, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo