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

choubaka Messages postés 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 106
 
t'as demandé au prof?

Choubanimal : 
Recherche producteur pour superproduction ou + si affinités
0
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
moi
 
tu peux me l'expliquer
0
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
moi
 
explique
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moi
 
vous vous foutez de moi.Demander à demander à votre deme répondre
0
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