Création liste chainée en C [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
19 mai 2005
-
 charif -
Bonjour à tous,


Je dois écrire une procédure qui permet de créer une liste. Cette procédure peut par exemple se comporter comme suit :
− Demander à l’utilisateur la longueur désirée de la liste : c’est à dire la cardinalité
− Tant que l’on n’a pas atteint cette cardinalité, on créera un maillon et on affectera une valeur au champ donne : cette valeur sera déterminée par l’utilisateur
− Une fois la cardinalité atteinte, la procédure s’arrête
Pour vérifier que notre précédente procédure fonctionne on écrira également une procédure itérative void affiche(t_Liste l) ; qui affiche les éléments de la liste l.

J'avoue que je ne m'en sors pas alors si quelqu'un pouvais m'aider à faire ce programme, je lui en serait très reconnaissant.

Merci beaucoup à tous et à bientot j'espere....

Lisandra

17 réponses

ça fait pas serieux de demader l'adresse mail, bon voici un exemple de code:
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <alloc.h> /*ou stdlib.h*/
struct page {int val; struct page *suivant; };
struct page *premier;

int encore(void) /* demande si on en veut encore*/
{
printf("encore (O/N) ? ");
return(toupper(getche())= ='O');
}
void lecture(void)
{
struct page *precedent,*nouveau;
premier=(struct page *)malloc(sizeof(struct page));
puts("entrez votre premier entier");
scanf("%d",&premier->val);
precedent=premier;
while (encore())
{
nouveau=(struct page *)malloc(sizeof(struct page));
precedent->suivant=nouveau;
precedent=nouveau;
puts("\nentrez votre entier");
scanf("%d",&nouveau->val);
}
precedent->suivant=NULL;
}
void affiche(struct page *debut)
{
printf("\nliste : ");
while(debut!=NULL)
{
printf("%d ",debut->val);
debut=debut->suivant;
}
printf("\n");
}
int main(void)
{
lecture();
affiche(premier);
}

si tu as d'autres questions, on est a ta disposition
14
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Bonjour je n'arrive pas lire correctement mon fichier pov en langage c autrement dit:parser le fichier pov en c
salut,

c pas très dur, envoie moi ton adresse et je t'enverrai un document word t'explicant le fonctionnement d'une liste. Mon adresse est: benson_ondo@hotmail.com
a ce que je peu triée une liste chainée
je voudrais un programme c de creation de liste chaine le plus simple qu il soit et de lecture des elements de cette liste . merci de me repondre
attend j'installe devc++, ça faisait un bout de temps que je programme pas en c
Messages postés
7
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
19 mai 2005
1
Il y avait juste une accolade en trop....

voici la procedure :

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
/* #include <alloc.h> ou stdlib.h*/
struct page {int val; struct page *suivant; };
struct page *premier;

int encore(void)
{
printf("encore (O/N) ? ");
return(toupper(getche())=='O');
}
void lecture(void)
{
struct page *precedent,*nouveau;
premier=(struct page *)malloc(sizeof(struct page));
puts("entrez votre premier entier");
scanf("%d",&premier->val);
precedent=premier;
while (encore())
{
nouveau=(struct page *)malloc(sizeof(struct page));
precedent->suivant=nouveau;
precedent=nouveau;
puts("\nentrez votre entier");
scanf("%d",&nouveau->val);
}
precedent->suivant=NULL;
}
void affiche(struct page *debut)
{
printf("\nliste : ");
while(debut!=NULL)
{
printf("%d ",debut->val);
debut=debut->suivant;
}
printf("\n");
}
int main(void)
{
lecture();
affiche(premier);


system("PAUSE");
return 0;
}

Merci encore a tout ceux qui m'ont aider...

Lisandra
J'ai essayer de compiler ton code et il y a deux erreurs ! Qu'en penses-tu ?


creation_listechainee.c: In function `encore':

creation_listechainee.c:14: error: syntax error before '=' token

make.exe: *** [creation_listechainee.o] Error 1

Execution terminated
c encore moi, enleve l'espace entre les deux == dans la fonction encore().
mais je pense que le plus important est de comprendre la logique.
si tu es sur windows avec devc++, il te faudra ajouter:
system("pause") a la fin du main()
T'as raison ! C'était dans l'instruction :
return(toupper(getche())= ='O');

Il ne reste plus qu'une erreur due au manque du fichier d'en-tête alloc.c
je n'ai que 32 fichiers d'en-têtes !

\Dev-Cpp\Packages\creation_listechainee.c C:\Dev-Cpp\Packages\C alloc.h: No such file or directory.
essai de le mettre en commentaire, il se peut qu'il y ai maintenant un autre include. ça devrait fonctionner
Messages postés
7
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
19 mai 2005
1
Coucou,

Merci à tous de m'aider, c'est vraiment sympa....
Gros bisous....
Messages postés
7
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
19 mai 2005
1
C encore moi, alors voila g une erreur sur le system pause je comprends pas... g ecrit system("PAUSE"); a la fin du main et ca me met :
46 C:\Documents and Settings\Anto\Bureau\main.c syntax error before string constant
46 C:\Documents and Settings\Anto\Bureau\main.c [Warning] data definition has no type or storage class
C:\Documents and Settings\Anto\Bureau\Makefile.win [Build Error] [main.o] Error 1

pourtant le programme est bon ya pa d'autre erreur....
???
bonjour
j'ai le plaisier de vous demander de me anvayer une documentation sur les listes chainées et la fonction éclatée
merci d'avance
heu ouais bien sur tu a dautres requettes dans ce genre a nous formuler?
Bye
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 517
Salut,

c'est une requête assez normale ;-)

Pour rachid

tu peux regarder dans la FAQ CCM Listes simplement chaînées
Messages postés
1
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
28 janvier 2008

cherchez nous des cours bidagogique de liste chainée en C piles et files svp
adnene400@yahoo.fr
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 517
donnez-moi svp un site pour le language c(cours+exercices corrigées)