cyrina84
Messages postés43Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention22 mai 2010
-
22 sept. 2008 à 10:00
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010
-
27 sept. 2008 à 00:58
bonjour j'ai un souci dans mon code,
jai fait une fonction qui lit les mots à partir d'un texte , les stocker dans une table de hachage.
voila la structure de la table de hachage :
<!-- BEGIN TEMPLATE: bbcode_code -->
typedefstruct L
{
int freq;
char mot[50];
struct L *suivant;
} Liste;
là yaura une condition avant l'insertion du mot, on verifie s'il existe avavnt si c'est le cas on incremente la frequence du mot sinon on l'insere.
voilà le bout du code de la fonction
<!-- BEGIN TEMPLATE: bbcode_code -->
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010 27 sept. 2008 à 00:58
oh mon Dieu!!
tu passe ta hash_map 'TableHash' en paramètre mais tu t'en sert jamais. apres tu te sert de ce paramèetre pour allouer un tableau que tu initialise même pas après tu vas lire des données dedans 'p TableHash[idx]' ici tu lis n'importe quoi est surement du '0xcd' en debug. la boucle while ne finira jamais car a aucun moment tu incremente 'p'. 'Liste *p (Liste *)malloc(sizeof(Liste));' ici tu leak de la mémoire.
Je crois que tu n'as pas très bien compris le c et tu devrais te replongé dans un bouquin.
Si tu veus toujours utilisé des hash map utilise ceux de la STL -> 'hash_map< type_clé, type_valeur>