Accueil > Forum > > > > [C] insertion en fin de liste chainée
[C] insertion en fin de liste chainée
mardi 16 mars 2004 à 19:02:11 |
[C] insertion en fin de liste chainée

Cow_B
|
Bonjour, j'ai à nouveau un ch'tit souci... je cherche à insérer un nouveau maillon à la fin d'une liste chainée. Avec ce que je fais, je me fait envoyer péter par mon compilateur... mais je vois pas où est l'erreur... snif... Merci à ceux qui pourront m'aider !!! :)
// Structure typedef struct liste *ptr_liste;
typedef struct liste { char mot[5]; char type; ptr_liste *suivant; }liste;
// Permet de faire une insertion en fin de liste chainée. ptr_liste insertion(char mot_regle[30][5], ptr_liste p, long nb_mot) { ptr_liste courant, nouv; int i=0, j=0;
for (i=0; i<nb_mot; i++) {
nouv = (ptr_liste) malloc (sizeof(liste));
for(j=0; j<5; j++) { nouv->mot[j] = mot_regle[i][j]; }
nouv->suivant = NULL;
if (p == NULL) { p = nouv; } else { courant = p; do { courant = courant->suivant; }while(courant != NULL); courant = nouv; } }
return p; }
|
Merci beaucoup !!! ;) Cow-B ----------------------------------------------- C'est au pied du mur.... qu'on voit le mieux le mur -----------------------------------------------
|
|
mardi 16 mars 2004 à 20:22:10 |
Re : [C] insertion en fin de liste chainée

goth
|
euh....je suis peut etre bete mais elle est censée faire koi ta fonction...
de plus je comprend pas pourquoi tu met ton malloc dans la boucle pour faire un nouveau maillon
puis dans : nouv->mot[j] = mot_regle[i][j];
nouv-> mot comme tu l'a defini est un chaine et mot_regle un tableau de chaine...et tu essaie d'affecter une chaine à un caractère(nouv->mot[j])...puis si c vraiment une copie de chaine que tu veux, n'oublie pas strcpy...
explique ce que t'a fonction est censé faire pcq la moi, je bloque...
|
|
mardi 16 mars 2004 à 20:38:47 |
Re : [C] insertion en fin de liste chainée

Cow_B
|
Pour être plus clair, je remets la source avec les commentaires. Sinon, effectivement, j'aurais pu faire un strcpy... mais je me souvenais plus du nom de la fonction... ce ke g fait est la meme chose en plus long... c tout. Sinon, le but véritable de ma fonction est d'insérer un nouveau maillon à la fin d'une liste chainée, et ce plusieurs fois (pour différents maillons). Je ne cherche pas de classement spécial, je veux juste les rentrer les uns à la suite des autres. Voilà, j'espère que j'ai été plus clair et que ca va te permettre de m'aider !!!! :)
// Permet de faire une insertion en fin de liste chainée. ptr_liste insertion(char mot_regle[30][5], ptr_liste p, long nb_mot) { ptr_liste courant, nouv; int i=0, j=0; // On fait une boucle pour insérer tous les mots d'une règle dans une liste chainée. for (i=0; i<nb_mot; i++) { // On prépare le nouveau maillon à insérer nouv = (ptr_liste) malloc (sizeof(liste));
for(j=0; j<5; j++) { nouv->mot[j] = mot_regle[i][j]; } nouv->suivant = NULL;
// Si la chaine est vide, la tête de la liste sera le maillon nouv... if (p == NULL) { p = nouv; } // ... sinon, on va à la fin de la liste chainée et on insert en dernier. else { courant = p; do { // Il semblerait que se soit là que ca coince : courant = courant->suivant; }while(courant != NULL); courant = nouv; } }
return p; }
|
Cow-B ----------------------------------------------- C'est au pied du mur.... qu'on voit le mieux le mur -----------------------------------------------
|
|
mardi 16 mars 2004 à 22:00:51 |
Re : [C] insertion en fin de liste chainée

vecchio56
|
Tu n'as pas honte de faire ce genre de truc en C alors qu'un langage objet comme C++ est bien mieux adapté?
|
|
mardi 16 mars 2004 à 22:12:49 |
Re : [C] insertion en fin de liste chainée

Cow_B
|
Bah honte, en fait pas trop...
vu que ce que je fais répond à un sujet donné... et qu'une des conditions du sujet est que le projet soit fait en C.
De plus, pour l'instant je ne connais pas encore le C++... mais ca va pas tarder à arriver ;)
Cow-B ----------------------------------------------- C'est au pied du mur.... qu'on voit le mieux le mur -----------------------------------------------
|
|
mardi 16 mars 2004 à 22:15:19 |
Re : [C] insertion en fin de liste chainée

Cow_B
|
Bon voilà la révision que j'ai apporté à la chose, mais je sais pas encore si ca va être accepté par le compilateur  // Permet de faire une insertion en fin de liste chainée pour // insérer tous les mots d'une règle dans une liste chainée. void insertion(char mot_regle[30][5], ptr_liste *p, long nb_mot) { ptr_liste *courant, *nouv; int i=0; // On fait une boucle pour insérer tous les mots d'une règle dans une liste chainée. for (i=0; i<nb_mot; i++) { courant = (ptr_liste*) malloc (sizeof(liste)); // On prépare le nouveau maillon à insérer nouv = (ptr_liste*) malloc (sizeof(liste));
strcpy((*nouv)->mot, mot_regle[i]); (*nouv)->suivant = NULL;
// Si la chaine est vide, la tête de la liste sera le maillon nouv... if (p == NULL) { p = nouv; } // ... sinon, on va à la fin de la liste chainée et on insert en dernier. else { courant = p; do { // Il semblerait que se soit là que ca coince : courant = (*courant)->suivant; }while(courant != NULL); courant = nouv; } } }
|
Cow-B ----------------------------------------------- C'est au pied du mur.... qu'on voit le mieux le mur -----------------------------------------------
|
|
Cette discussion est classée dans : fin, liste, insertion, ptr, courant
Répondre à ce message
Sujets en rapport avec ce message
[C] liste chainée [ par Cow_B ]
Bonjour, g un tout petit souci...lors de la compilation d'un programme contenant cette fonction, ca plante... ca fait plus de 12h maintenant que j'ess
probleme de liste chaine [ par cutibipoulet ]
voila, ge débute en cpp et iles problèmes commences quand je fait une simple liste doublement chainé. JeDans cette liste, il existe undebut list_begin
tri par insertion dans une liste chaînée [ par titi4659 ]
Bonjour,j'ai un problème avec une liste chaînée.j'ai une liste d'element que j'arrive a récupéré mais je souhaiterai que lorsque je récupère un elemen
Tri par insertion sur liste simplement chainée [ par Jordy89 ]
Bonjour,Dans le cadre de la manipulation d'une liste chaînée, je suis amené à effectuer un tri; Je me suis renseigné à gauche et à droite, et il appar
erreur de segmentation - ajout en fin de liste [ par WildChild54 ]
Salut à tous!J'ai une procédure recursive sensée ajouter un élément en fin de liste qui pose un problème: je ne vois aucune erreur et pourtant lorsque
chargement d'une liste chainée à partir d'un fichier binaire qui contient des structures [ par achmer ]
bonjours à tous... j'ai un petit problème au niveau de la récupération des structures (patient) enregistrées dans un fichier bonaire ,pour les charge
Tri par insertion sur listes simplement chainées [ par ichigoZ710 ]
Bonjour, voilà, je vous explique rapidement mon problème, je dois élaborer une procédure de tri par insertion sur une liste qui vient en paramètre de
ajout d'un element à la fin d'une liste chainée [ par beatkof ]
bonsoir je voudrai faire une fonction qui ajout un element à la fion d'une liste chainée et je n'y arrive pas voila ma fonction: #include #include s
Besoin D'aide [ par ChInOvSki ]
J'ai créé ce programme, et j'en ai pas trouvé où est le probleme :s Voila Mon Prgrm: [size=300]Noeud.h[/size] #include using namespace std; templat
[Tous compilos]Optimisation de listes chaînées ( enveloppe convexe ) [ par GoldenEye ]
Bonjour tlmJe cherche à optimiser l'algorithme Quick Hull pour déterminer l'enveloppe convexe de N points à coordonnées entières dans un plan.Au lance
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|