begin process at 2010 03 20 04:56:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

Autre

 > 

erreur dans une liste simple


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur dans une liste simple

mercredi 10 octobre 2007 à 21:33:08 | erreur dans une liste simple

sakjimh

salut,
j'ai crée un programme qui saisie une liste et les affiche a l'execution
mais il m'affiche une erreur genre probleme d'allocation et je ne vois pas ou?
alors pouvez vous m'aider.
merci,
#include <stdio.h>
#include <malloc.h>
typedef struct liste
{
int val;
struct liste *suivant;
} noeud;
void inserer_liste(noeud *l,int v)
{
noeud *nouveau;
noeud *parcour;
nouveau=(noeud *)malloc(sizeof(noeud*));
nouveau->val=v;
nouveau->suivant=NULL;
if(l==NULL)
l=nouveau;
else
{
parcour=l;
while(parcour->suivant!=NULL)
parcour=parcour->suivant;
parcour->suivant=nouveau;
}
l=parcour;
}
void affiche(noeud *l)
{
noeud *parcour;
parcour=l;
while(l->suivant!=NULL)
{
parcour=parcour->suivant;
printf("%d",parcour->val);
}
}
void main()
{
int i;
noeud *maliste;
maliste=NULL;
for(i=0;i<6;i++)
inserer_liste(maliste,i);
affiche(maliste);
}
mercredi 10 octobre 2007 à 22:53:21 | Re : erreur dans une liste simple

yann_lo_san

Si tu fais :
nouveau=(noeud *)malloc(sizeof(noeud*));
Il manquera 4 octets dans ton allocation.

sizeof(POINTEUR*) alloue 4 octets même si ça pointe sur 1000 octets.

sizeof(noeud) allouera bien 8 octets.

mercredi 10 octobre 2007 à 23:02:28 | Re : erreur dans une liste simple

DeAtHCrAsH

Un pointeur est codé sur 32 bits soit de 4 octets, d'où le sizeof(noeud*) = 4.

Shell
vendredi 12 octobre 2007 à 16:20:39 | Re : erreur dans une liste simple

sakjimh

non ca ne change rien
samedi 13 octobre 2007 à 00:07:11 | Re : erreur dans une liste simple

mezaya

dans ton main ma liste vaut toujours NULL même apres les inserts car tu passe ton pointeur par copie. plusieur solution possible : void inserer_liste(noeud** l,int v) void inserer_liste(noeud*& l,int v) noeud* inserer_liste(noeud* l,int v) et pense bien a faire un sizeof(noeud)

Voili,Voilou javascript:Insert_Emoticon('/imgs2/smile_wink.gif');


Cette discussion est classée dans : affiche, liste, parcour, noeud, maliste


Répondre à ce message

Sujets en rapport avec ce message

Liste chaînée, besoin d'aide! [ par mystik007 ] Bonjour, je dois coder un programme qui manipule les listes chaînées, j'aurais besoin d'aide pour les fonction (initialiser la liste, allouerNoeud pou créer une liste à partir d'un arbre [ par morganistic ] bonjour a tous!voila deux structures : une liste et un arbre.je n arrive pas a parcourir un arbre en inserant chaque noeud de l arbre dans une liste.. Parcour d'un répertoire [ par garslouche ] Bonjour,je voudrais afficher dans une listbox tous les sous-répertoires d'un répertoire donnéPour le remplissage de la liste...ça va aller...mais pour insertion d'un noeud en premiere position d'une liste d'enfants [ par Cako19 ] Bonjour,J'utilise Visual C++ et MSXML4.0.Je souhaiterais insérer un noeud auparavant cloné au début d'une liste d'enfants et non à la fin comme avec l discuter un graphe [ par azamharir ] salutje dois implementer un graphe (graphe : cas général). je cherche la meilleure structure possible.je crois que je vais utiliser celle ci :une clas trouve le mot suivant dans l'ordre alphabétique (liste chainee simple) [ par chickens ] Bonjour,j'ai un probleme,il me faut trouve le mot suivant dans l'ordre alphabetique dans une liste chainee simple(sachant que l'ajout s'est fait au de Liste chainée passée en paramètre [ par morayma ] J'ai écrit un petit programme qui appelle une procédure qui ajoute des éléments à une liste chainée simple. Mon problème c'est que la liste n'est pas besoin d'aide sur mon programme arbre binaire en c++ [ par biyiha ] bonjour, voici mon code ecrit en c++ c++ qui m'affiche pleins d'erreur;; il s'agit des arbres binaires de recherche , quelqu'un pourrait -il m'aider, trier une liste simplement chaine [ par mdh12 ] je veux faire le trie d'une liste chaine mon code ne me donne pas le resulta juste pouvez le couriger #include #include #include typedef struct noe fusion de deux liste simplement chaine [ par mdh12 ] salut, je veux faire fusion de deux liste simplement chaine a condition que la liste 1 est trier coissant de meme pour la liste 2 j'ai base sur le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales