[C] Liste chainée dans liste chainée.
Résolu/Fermé
jerémiethe7
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
-
22 avril 2008 à 12:10
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 - 22 avril 2008 à 17:50
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 - 22 avril 2008 à 17:50
A voir également:
- [C] Liste chainée dans liste chainée.
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste groupe whatsapp - Guide
- Liste site streaming illégal - Accueil - Services en ligne
- Liste de diffusion whatsapp - Guide
2 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
22 avril 2008 à 14:25
22 avril 2008 à 14:25
Voici un exemple
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct A_{ char ville[30]; struct A_ *suivant; }Adresse; typedef struct L_{ char nom[30]; char prenom[30]; char tel[15]; char mail[30]; struct L_ *suivant; Adresse *l_imbriquee; // liste imbriquée }Liste; void InsertionEnTete(Liste **pp_L,char *nom,char *prenom,char *tel,char *mail); void InsertionEnTete2(Adresse **pp_A,char *ville); void AfficherListe(Liste *L); void AfficherAdresse(Adresse *A); int main() { Liste *L; Adresse *A; char adresse[100]; char ville[30]; char nom[30]; char prenom[30]; char tel[15]; char mail[30]; L=NULL;A=NULL; printf("----------------------------\n"); printf("Nom? "); scanf("%s",nom); printf("Prénom? "); scanf("%s",prenom); printf("Téléphone? "); scanf("%s",tel); printf("Mail? "); scanf("%s",mail); InsertionEnTete(&L,nom,prenom,tel,mail); printf("Ville? "); scanf("%s",ville); InsertionEnTete2(&L->l_imbriquee,ville); printf("Données personnelles : \n"); printf("----------------------------\n"); AfficherListe(L); printf("----------------------------\n"); printf("Adresse : \n"); AfficherAdresse(L->l_imbriquee); printf("----------------------------\n"); printf("Nom? "); scanf("%s",nom); printf("Prénom? "); scanf("%s",prenom); printf("Téléphone? "); scanf("%s",tel); printf("Mail? "); scanf("%s",mail); InsertionEnTete(&L,nom,prenom,tel,mail); printf("Ville? "); scanf("%s",ville); InsertionEnTete2(&L->l_imbriquee,ville); printf("Ville2? "); scanf("%s",ville); InsertionEnTete2(&L->l_imbriquee,ville); printf("Données personnelles : \n"); AfficherListe(L); printf("----------------------------\n"); printf("Adresse : \n"); AfficherAdresse(L->l_imbriquee); return 0; } void InsertionEnTete( Liste **pp_L, char *nom,char *prenom,char *tel,char *mail){ Liste *nouveau; nouveau=(Liste*)malloc(sizeof(Liste)); strcpy(nouveau->nom,nom); strcpy(nouveau->prenom,prenom); strcpy(nouveau->tel,tel); strcpy(nouveau->mail,mail); nouveau->l_imbriquee=NULL; nouveau->suivant=*pp_L; *pp_L=nouveau; } void InsertionEnTete2(Adresse **pp_A,char *ville){ Adresse *nouveau; nouveau=(Adresse*)malloc(sizeof(Adresse)); strcpy(nouveau->ville,ville); nouveau->suivant=*pp_A; *pp_A=nouveau; } void AfficherListe(Liste *L){ Liste *courant; for(courant=L;courant!=NULL;courant=courant->suivant){ printf("%s\n",courant->nom); printf("%S\n",courant->prenom); printf("%s\n",courant->tel); printf("%s\n",courant->mail); } } void AfficherAdresse(Adresse *A){ Adresse *courant; for(courant=A;courant!=NULL;courant=courant->suivant) printf("%s\n",courant->ville); }Et le test
lami20j@ubuntu:~$ ./a.out ---------------------------- Nom? azerty Prénom? aaa Téléphone? 0111111111 Mail? azerty@yahoo.fr Ville? paris Données personnelles : ---------------------------- azerty 0111111111 azerty@yahoo.fr ---------------------------- Adresse : paris ---------------------------- Nom? qwerty Prénom? bbb Téléphone? 0211111111 Mail? qwerty@hotmail.com Ville? washington Ville2? boston Données personnelles : qwerty 0211111111 qwerty@hotmail.com azerty 0111111111 azerty@yahoo.fr ---------------------------- Adresse : boston washington lami20j@ubuntu:~$
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
22 avril 2008 à 12:26
22 avril 2008 à 12:26
Salut,
Pour chaque contacts, je souhaiterait créer une liste chainée à l'intérieur de celle çi.
Pourquoi pas ajouter plusieurs champs dans la structure?
En ce cas chaque contact devrais être la tête de la liste correspondante.
Bref, tu crées un pointeur de type liste par exemple liste_imbriquee pour obtenir ta liste imbriquée
Pour chaque contacts, je souhaiterait créer une liste chainée à l'intérieur de celle çi.
Pourquoi pas ajouter plusieurs champs dans la structure?
En ce cas chaque contact devrais être la tête de la liste correspondante.
Bref, tu crées un pointeur de type liste par exemple liste_imbriquee pour obtenir ta liste imbriquée
jerémiethe7
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
22 avril 2008 à 12:44
22 avril 2008 à 12:44
euh j'ai pas tout compris lami20j, dans quelle structure ???
Moi ce que j'ai pensé c'était de faire :
une structure avec :
mail
prenom
nom
tel
1_liste_chainée
Moi ce que j'ai pensé c'était de faire :
une structure avec :
prenom
nom
tel
1_liste_chainée
22 avril 2008 à 17:50
merci bien !!