Questionnement listes chaînées

poireau67 Messages postés 5 Statut Membre -  
poireau67 Messages postés 5 Statut Membre -
je recherche activement une modification du programme ci dessous pour qu'il permette de faire une liste chaînée par derrière (en remplissant la liste par la fin, et par le milieu(si possible))..
(je suis trèes novice!)

#include <stdio.h>

struct personne
{
char nom[20];
struct personne *psuivant;
};
typedef struct personne pers;
int main()
{
int i;
pers *debut=NULL;
pers *nouveau;
pers *dernier;
for (i=0;i<3;i++)
{
nouveau=(pers*)(malloc(sizeof(pers)));
scanf("%s",nouveau->nom);
nouveau->psuivant=debut;
debut=nouveau;
}
nouveau=debut;
while (nouveau->psuivant !=NULL)
{
printf("%s \n",nouveau->nom);
nouveau=nouveau->psuivant;
}
printf("%s \n",nouveau->nom);
printf("fin de la chaîne");
return 0;
}

6 réponses

  1. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    t'as demandé au prof?

    Choubanimal : 
    Recherche producteur pour superproduction ou + si affinités
    0
    1. poireau67 Messages postés 5 Statut Membre
       
      oui mon ptit gars, et voilà ça réponse :

      #include <stdio.h>

      struct personne
      {
      char nom[20];
      struct personne *psuivant;
      };
      typedef struct personne pers;
      int main()
      {
      int i;
      pers *debut=NULL;
      pers *nouveau;
      pers *dernier;
      debut=malloc(sizeof(pers*));
      scanf("%s",debut->nom);
      debut->psuivant=NULL;
      dernier=debut;
      for (i=0;i<3;i++)
      {
      nouveau=malloc(sizeof(pers));
      scanf("%s",nouveau->nom);
      nouveau->psuivant=NULL;
      dernier->psuivant=nouveau;
      dernier=nouveau;
      }
      nouveau=debut;
      while (nouveau != NULL)
      {
      printf("%s \n",nouveau->nom);
      nouveau=nouveau->psuivant;
      }
      printf("%s \n",nouveau->nom);
      printf("fin de la chaîne");
      return 0;
      }
      0
  2. poireau67 Messages postés 5 Statut Membre
     
    tres bien , au lie de passer par devanbt, la liste chainee passe apr deriiere et ainsi ya as de probleme de circulation sur le peripherique,
    Tu peux aussi avoir des reponses sur caramail.com
    Le chat regorge d'intellos en tout genre.
    0
  3. moi
     
    explique
    0
    1. poireau67
       
      c facile, a cause de la priorite a droite, tu peux pas passer par devant ; donc pour pouvoir t'inserer facilement dans la circulation , tu passe par derriere !
      tu pouuras ainsi t'eviter un croisement dangereux !
      Tes liste chainees passeront en securite sur le peripherique
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. moi
     
    vous vous foutez de moi.Demander à demander à votre deme répondre
    0
  6. poireau67 Messages postés 5 Statut Membre
     
    mais non, pas du tout, c'est une métaphore, c'est imagé...
    t'as déjà vu des pointeurs ce balladant sur le périph', toi?

    hopla fischer noch a bier!!!
    0