rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Création liste chainée en C

Posté par lisandra, le mercredi 4 mai 2005 à 22:23:36
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
Configuration: Pc portable
Windows xp
Répondre à lisandra  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
crack1, le jeudi 5 mai 2005 à 09:25:14
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
Répondre à crack1

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
hayet, le mardi 6 juin 2006 à 10:09:09
a ce que je peu triée une liste chainée
Répondre à hayet

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crack1, le jeudi 5 mai 2005 à 09:34:58
ç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
Répondre à crack1

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
poppyn73, le jeudi 5 mai 2005 à 14:12:42
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
Répondre à poppyn73

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crack1, le jeudi 5 mai 2005 à 14:19:47
attend j'installe devc++, ça faisait un bout de temps que je programme pas en c
Répondre à crack1

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crack1, le jeudi 5 mai 2005 à 14:26:01
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.
Répondre à crack1

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crack1, le jeudi 5 mai 2005 à 14:28:40
si tu es sur windows avec devc++, il te faudra ajouter:
system("pause") a la fin du main()
Répondre à crack1

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
poppyn73, le jeudi 5 mai 2005 à 15:51:38
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.
Répondre à poppyn73

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crack1, le jeudi 5 mai 2005 à 15:57:58
essai de le mettre en commentaire, il se peut qu'il y ai maintenant un autre include. ça devrait fonctionner
Répondre à crack1

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lisandra, le jeudi 5 mai 2005 à 20:21:12
Coucou,

Merci à tous de m'aider, c'est vraiment sympa....
Gros bisous....
Répondre à lisandra

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lisandra, le jeudi 5 mai 2005 à 20:28:54
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....
???
Répondre à lisandra

11


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
lisandra, le jeudi 5 mai 2005 à 20:58:00
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
Répondre à lisandra

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
rachid, le lundi 5 novembre 2007 à 11:17:41
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
Répondre à rachid

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
raaachid, le samedi 29 décembre 2007 à 11:25:21
heu ouais bien sur tu a dautres requettes dans ce genre a nous formuler?
Bye
Répondre à raaachid

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le samedi 29 décembre 2007 à 11:30:39
Salut,

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

Pour rachid

tu peux regarder dans la FAQ CCM Listes simplement chaînées
lami20j
Répondre à lami20j

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
adnene1987, le lundi 28 janvier 2008 à 12:46:23
cherchez nous des cours bidagogique de liste chainée en C piles et files svp
adnene400@yahoo.fr
Répondre à adnene1987

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le lundi 28 janvier 2008 à 13:12:44
Répondre à lami20j

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 mawti, le mardi 25 mars 2008 à 18:24:29
donnez-moi svp un site pour le language c(cours+exercices corrigées)
Répondre à mawti
Logiciels pertinents trouvés dans les téléchargements
Télécharger Vista Codec Package 4.7.2Vista Codec Package - Vista Codec Package regroupe une collection impressionnante de codecs (audio et vidéo), permettant d'ouvrir la plupart...Catégorie: Codecs
Licence: Freeware/gratuit
Télécharger AdBlock Plus 0.7.5.5AdBlock Plus - AdBlock Plus est l'une des extensions classiques de Firefox ,celui-ci bloque déjà en standard les fenêtre popup: AdBlock va...Catégorie: Extensions Firefox
Licence: Open Source
Télécharger SuperCopier 2 beta 1.9SuperCopier 2 - SuperCopier est un gestionnaire de copie de fichiers libre pour Windows, proposant des fonctionnalités non couvertes par le...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger FreeMind 0.8.1FreeMind - FreeMind est un logiciel de Mind mapping entièrement libre, permettant de créer des cartes heuristiques permettant de...Catégorie: Organisation
Licence: Open Source
Plus de logiciels gratuits sur « Création liste chainée en C »