[C ]erreur de segmentation dans une fonction
Fermé
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
-
27 sept. 2008 à 06:43
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 sept. 2008 à 19:45
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 sept. 2008 à 19:45
A voir également:
- [C ]erreur de segmentation dans une fonction
- Erreur 0x80070643 - Accueil - Windows
- Fonction si et - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur de segmentation (core dumped) ✓ - Forum Programmation
47 réponses
beslae
Messages postés
109
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
11 octobre 2008
16
27 sept. 2008 à 06:54
27 sept. 2008 à 06:54
Excuse moi stroumpf, je sais que c est dure d etre tout bleu, tout petit, et d'etre sur qu on sé bien exprimer alors que c est vraiment pas le KKAAAAA !
"
si le dernier mot =au 1er !!??!! le dernier mot de quel liste ? le premier mot de quel liste ? on concaténe quoi et quoi ?? !! ou est l erreur ? quelle ligne ??
"
"
si le dernier mot =au 1er !!??!! le dernier mot de quel liste ? le premier mot de quel liste ? on concaténe quoi et quoi ?? !! ou est l erreur ? quelle ligne ??
"
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 07:01
27 sept. 2008 à 07:01
typedef struct L
{
int freq;
char mot[C_TAILLE_MOT];
struct L *suivant;
} Liste;
j'ai 2 liste chainée seq et seq2, chacune 2 contient des phrases exemple
seq : bonjour le, le monde, ma famille
seq2: bonjour le, le monde, famille ma
on parcourt les 2liste et pour chaque element on verifier si le dernier mot ==au 1er
ona ma famille et famille ma verifie bien la condition donc on mat "ma famille ma " dans une nouvelle liste chainee.
ben voila beslae
j'espere que je suis pas k***** comme ta dit!!
{
int freq;
char mot[C_TAILLE_MOT];
struct L *suivant;
} Liste;
j'ai 2 liste chainée seq et seq2, chacune 2 contient des phrases exemple
seq : bonjour le, le monde, ma famille
seq2: bonjour le, le monde, famille ma
on parcourt les 2liste et pour chaque element on verifier si le dernier mot ==au 1er
ona ma famille et famille ma verifie bien la condition donc on mat "ma famille ma " dans une nouvelle liste chainee.
ben voila beslae
j'espere que je suis pas k***** comme ta dit!!
beslae
Messages postés
109
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
11 octobre 2008
16
27 sept. 2008 à 07:18
27 sept. 2008 à 07:18
Je te rassure, ce n est toujours pas le KAAA ! sinon je vai essayer de m adapter un peu a ton mode de communication, je crois qu il faudra aussi que j envisage de m y mettre vu le nombre des stroumpf sur ce genre de forum !!
donc :
strncmp(first, last,C_TAILLE_MOT)==0
se traduit :
comparer si first et last sont les meme
strncomp("famille ma", "ma famille", 50) n est jamais 0 !!
ceci d'une part, d'une autre, je comprend pas tes strtok(buffer," ,.-"); !!
donc :
strncmp(first, last,C_TAILLE_MOT)==0
se traduit :
comparer si first et last sont les meme
strncomp("famille ma", "ma famille", 50) n est jamais 0 !!
ceci d'une part, d'une autre, je comprend pas tes strtok(buffer," ,.-"); !!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:10
27 sept. 2008 à 09:10
Salut,
strncomp("famille ma", "ma famille", 50) n est jamais 0 !!
je suis d'accord avec toi
en revanche
les mots proviennent des deux listes seq et seq2, donc je pense qu'il y a la possibilité d'avoir des mots qui existent dans seq2 et seq
strncomp("famille ma", "ma famille", 50) n est jamais 0 !!
je suis d'accord avec toi
en revanche
strncomp("famille ma", "famille ma", 50) égal 0 !!n'est-ce pas?!
les mots proviennent des deux listes seq et seq2, donc je pense qu'il y a la possibilité d'avoir des mots qui existent dans seq2 et seq
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 07:20
27 sept. 2008 à 07:20
merci beslae, les daux focntion getforstword et getlastword marchent nikel, donc l'erreur n'est pas là, l'erreu est dans GenNseq, une erreur d'allocation de memoire
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
beslae
Messages postés
109
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
11 octobre 2008
16
27 sept. 2008 à 07:47
27 sept. 2008 à 07:47
et ca donne quoi gcc comme erreur exactement ?
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:01
27 sept. 2008 à 09:01
erreur de segmentation^^
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:11
27 sept. 2008 à 09:11
Salut,
affiche ici ce que tu vois à l'écran (je parle de ton erreur)
affiche ici ce que tu vois à l'écran (je parle de ton erreur)
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
27 sept. 2008 à 09:16
27 sept. 2008 à 09:16
Bonjour Lami ca va bien ?
j(ai pas un message d'erreur mais le programme se plante : projet a cessé de fonctionné....
voilà c'est tout
cordialement
j(ai pas un message d'erreur mais le programme se plante : projet a cessé de fonctionné....
voilà c'est tout
Liste * GenNseq(Liste **seq2, Liste **seq) { Liste *p; Liste *q; char * mot=(char*)malloc(60*sizeof(char)); char * mot1= (char*)malloc(60*sizeof(char)); char *last; char *first; char buff1[C_TAILLE_MOT];/* pas besoin de malloc car 50 est une petite taille et ca s'ajuste avec Liste::mot */ char buff2[C_TAILLE_MOT];/* deux buffer temporaire: un pour chaque liste!*/ Liste *pNouvelleListe;/* pour creer la liste*/ Liste *pCourant; // mot =(char*)malloc(60*sizeof(char)); // mot1 =malloc(60*sizeof(char)); pNouvelleListe=NULL; for(p=*seq2; p!=NULL; p=p->suivant) { mot=p->mot; printf("%s", mot); if(mot){ first=GetFirstWord(mot, buff1); printf("%s", first); for(q=*seq; q!=NULL; q=q->suivant) { mot1 =q->mot; if(mot1){ last=GetLastWord(mot1, buff2); printf("%s", last); if(strncmp(first, last,C_TAILLE_MOT)==0) { printf("similaires!!!!"); pCourant = malloc(sizeof(Liste)); pCourant->freq = 1; strncpy(pCourant->mot,first,C_TAILLE_MOT); pCourant->suivant = pNouvelleListe; pNouvelleListe = pCourant; } } } } } free(mot); free(mot1); return pNouvelleListe; }
cordialement
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:17
27 sept. 2008 à 09:17
Salut,
mets en commentaire ta fonction GenNseq
mets cette fonction dans ton code
mets en commentaire ta fonction GenNseq
mets cette fonction dans ton code
void Affiche_L(Liste *seq2, Liste *seq) { Liste *p; Liste *q; for(p=seq2; p!=NULL; p=p->suivant) printf("%s\n",p->mot); for(q=seq; q!=NULL; q=q->suivant) printf("%s\n",q->mot); }compile est exécute ensuite dit si tu se passe bien
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:21
27 sept. 2008 à 09:21
en fait jai mis ca
car au depart jai declaré Liste **seq2 et Liste **seq
et comme ca il plante meme probleme
je sais pas si je fais des conneriees
void Affiche_L(Liste **seq2, Liste **seq) { Liste *p; Liste *q; for(p=*seq2; p!=NULL; p=p->suivant) printf("%s\n",p->mot); for(q=*seq; q!=NULL; q=q->suivant) printf("%s\n",q->mot); }
car au depart jai declaré Liste **seq2 et Liste **seq
et comme ca il plante meme probleme
je sais pas si je fais des conneriees
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:23
27 sept. 2008 à 09:23
seq2 est une liste chainée ainsi que seq est un tableau de liste chainé
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:25
27 sept. 2008 à 09:25
Re,
non
d'après ce que tu dis seq2 est aussi un pointeurs de pointeurs donc décide toi
non
d'après ce que tu dis seq2 est aussi un pointeurs de pointeurs donc décide toi
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
27 sept. 2008 à 09:26
27 sept. 2008 à 09:26
non c'est une simple liste chainée
decidé c'est bon ^^
decidé c'est bon ^^
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:24
27 sept. 2008 à 09:24
Re,
d'accord
donc en fait il s'agit des pointeurs de pointeurs, c'est pour ça que tu as une erreur de segmentation ici
Liste * GenNseq(Liste *seq2, Liste *seq);
je vais revoir ta fonction
d'accord
donc en fait il s'agit des pointeurs de pointeurs, c'est pour ça que tu as une erreur de segmentation ici
Liste * GenNseq(Liste *seq2, Liste *seq);
je vais revoir ta fonction
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:25
27 sept. 2008 à 09:25
Liste * GenNseq(Liste **seq2, Liste **seq) { Liste *p; Liste *q; char * mot=(char*)malloc(60*sizeof(char)); char * mot1= (char*)malloc(60*sizeof(char)); char *last; char *first; char buff1[C_TAILLE_MOT];/* pas besoin de malloc car 50 est une petite taille et ca s'ajuste avec Liste::mot */ char buff2[C_TAILLE_MOT];/* deux buffer temporaire: un pour chaque liste!*/ Liste *pNouvelleListe;/* pour creer la liste*/ Liste *pCourant; // mot =(char*)malloc(60*sizeof(char)); // mot1 =malloc(60*sizeof(char)); pNouvelleListe=NULL; for(p=*seq2; p!=NULL; p=p->suivant) { mot=p->mot; printf("%s", mot); if(mot){ first=GetFirstWord(mot, buff1); printf("%s", first); for(q=*seq; q!=NULL; q=q->suivant) { mot1 =q->mot; if(mot1){ last=GetLastWord(mot1, buff2); printf("%s", last); if(strncmp(first, last,C_TAILLE_MOT)==0) { printf("similaires!!!!"); pCourant = malloc(sizeof(Liste)); pCourant->freq = 1; strncpy(pCourant->mot,first,C_TAILLE_MOT); pCourant->suivant = pNouvelleListe; pNouvelleListe = pCourant; } } } } } free(mot); free(mot1); return pNouvelleListe; }
meme comme ca sa plante
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:27
27 sept. 2008 à 09:27
Re,
tu veux arrêter d'afficher à chaque fois ton code
que sa plante on le sait depuis le début
donc soit claire
seq2 c'est quoi????
seq c'est quoi????
on ne mets pas les étoiles comme sur les gâteux
il faut savoir avec exactitude le type que tu dois utiliser.
tu veux arrêter d'afficher à chaque fois ton code
que sa plante on le sait depuis le début
donc soit claire
seq2 c'est quoi????
seq c'est quoi????
on ne mets pas les étoiles comme sur les gâteux
il faut savoir avec exactitude le type que tu dois utiliser.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:29
27 sept. 2008 à 09:29
Re,
non c'est une simple liste chainée
decidé c'est bon ^^
En ce cas le prototype de ta fonction doit être (si j'ai bien compris)
Liste * GenNseq(Liste *seq2, Liste **seq)
seq2 - liste chaînée
seq - table de hash
c'est bien ça?
non c'est une simple liste chainée
decidé c'est bon ^^
En ce cas le prototype de ta fonction doit être (si j'ai bien compris)
Liste * GenNseq(Liste *seq2, Liste **seq)
seq2 - liste chaînée
seq - table de hash
c'est bien ça?
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:31
27 sept. 2008 à 09:31
seq n'est pas une table de hachage, c'est n autre tableau que j'ai declaré
seq =(Liste **) malloc (20000 * sizeof(Liste *)); // les tableau des toutes les Nseq seq[0]=NULL;
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:29
27 sept. 2008 à 09:29
oui,
seq2 est une liste chainée qui contient les mots, et seq est un tableau de liste chaine qui va contenier des liste chainée .
voilà
seq2 est une liste chainée qui contient les mots, et seq est un tableau de liste chaine qui va contenier des liste chainée .
voilà
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:31
27 sept. 2008 à 09:31
Et tu veux vérifier pour chaque mot de seq2 tout les mots de seq (les listes dans le tableau de listes)
C'est ça?
C'est ça?
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:34
27 sept. 2008 à 09:34
oui je vais verifier pour chaque mot de seq et de seq 2
si le dernier mot de seq est egale au 1er de seq alors on cree une nouvelle liste qui cva contenier le mot resultat de la concatenation et on va mettre cette nouvelle liste dans seq[1](2eme case)
si le dernier mot de seq est egale au 1er de seq alors on cree une nouvelle liste qui cva contenier le mot resultat de la concatenation et on va mettre cette nouvelle liste dans seq[1](2eme case)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 09:44
27 sept. 2008 à 09:44
Attends, tu mélanges tout.
si le dernier mot de seq est egale au 1er de seq
tu voulais dire
si le dernier mot de chaque liste de seq égal au 1er de seq2
Tu as obtenu comment le seq (le tableau de liste)??
Il a combien des listes dans ton tableau??
Puisque en fait ton algorithme sera
si le dernier mot de seq est egale au 1er de seq
tu voulais dire
si le dernier mot de chaque liste de seq égal au 1er de seq2
Tu as obtenu comment le seq (le tableau de liste)??
Il a combien des listes dans ton tableau??
Puisque en fait ton algorithme sera
Pour chaque mot de la liste seq2 Cherche le first Pour chaque mot de chaque liste du tableau de liste seq Cherche last Si last égal first Alors Affiche "Similaire" Allouer NouveauElement NouveauElement->freq = 1 copier(NouveauElement->mot,first) NouveauElement->suivant = pNouvelleListe pNouvelleListe = NouveauElement Fin Si Fin Pour Fin Pour
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 09:50
27 sept. 2008 à 09:50
chaque elemnt de la liste seq 2 contient une suite de mot
"bonjour les "
la meme chose pour seq: en fait jai mis dans la 1ere case des seq la liste des 2
apres je vais comparer pour chaque elemnt de seq2 si le 1er mot =dernier mot des seq[0]
"bonjour les " et" bonjour les"
on a les <>bonjour donc pas de concatenation
ainsi de suite
si on a parexemple: "bonjour les " et "les amis " donc on va creer une liste chaine qui va contenir 'bonjour les amis" et on va la mettre dans seq [1]
voila
et ainsi de suite
"bonjour les "
la meme chose pour seq: en fait jai mis dans la 1ere case des seq la liste des 2
apres je vais comparer pour chaque elemnt de seq2 si le 1er mot =dernier mot des seq[0]
"bonjour les " et" bonjour les"
on a les <>bonjour donc pas de concatenation
ainsi de suite
si on a parexemple: "bonjour les " et "les amis " donc on va creer une liste chaine qui va contenir 'bonjour les amis" et on va la mettre dans seq [1]
voila
et ainsi de suite
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 10:00
27 sept. 2008 à 10:00
la meme chose pour seq:
Non, ce n'est pas la même chose.
Tu as dit que seq c'est un tableau de listes.
Lit mont algorithme
Chaque élément de seq c'est une liste
Donc tu ne peux pas dire
chaque elemnt de la liste seq 2 contient une suite de mot
"bonjour les "
la meme chose pour seq:
en revanche tu peux dire
Ca ne m'intéresse pas ton histoire avec "bonjour les" ;-)
Ce que tu dois de décider c'est où on cherche
Si seq2 c'est juste une liste et seq un tableau alors l'algo que je t'ai donné doit être bon
Sinon, alors tu dois mieux expliquer ce que tu veux obtenir, et sans mélanger les choses
Tu vois seulement la partie finale (les mots) que tu dois comparer.
Mais ce qui nous intéresse pour l'instant ce n'est pas ça.
Où les chercher nous intéresse.
Donc comme je te l'ai déjà dit. Si tu cherches dans un tableau de liste, alors le mot sera chercher par la fonction, dans chaque liste (élément du tableau).
Non, ce n'est pas la même chose.
Tu as dit que seq c'est un tableau de listes.
Lit mont algorithme
Chaque élément de seq c'est une liste
Donc tu ne peux pas dire
chaque elemnt de la liste seq 2 contient une suite de mot
"bonjour les "
la meme chose pour seq:
en revanche tu peux dire
chaque elemnt de la liste seq 2 contient une suite de mot "bonjour les " et chaque element du chaque liste du tableau seq
Ca ne m'intéresse pas ton histoire avec "bonjour les" ;-)
Ce que tu dois de décider c'est où on cherche
Si seq2 c'est juste une liste et seq un tableau alors l'algo que je t'ai donné doit être bon
Sinon, alors tu dois mieux expliquer ce que tu veux obtenir, et sans mélanger les choses
Tu vois seulement la partie finale (les mots) que tu dois comparer.
Mais ce qui nous intéresse pour l'instant ce n'est pas ça.
Où les chercher nous intéresse.
Donc comme je te l'ai déjà dit. Si tu cherches dans un tableau de liste, alors le mot sera chercher par la fonction, dans chaque liste (élément du tableau).
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 10:06
27 sept. 2008 à 10:06
merci Lami,
voila nos input;
seq 2 qui va contenir des liste de portion de phrase(2mots)
et ona seq qui est un tableau vide
on a rempli la 1ere case du tableau par la liste des seq2 (copier)
et puis on va tenter de remplir les autres case du tableau
pour rempli la case 2
on concatene les portions de pharse de seq 2 et de seq[0] qui ont la meme 1er et dernier mot
on met le resultat dans la case suivante seq[1]
voilà
voila nos input;
seq 2 qui va contenir des liste de portion de phrase(2mots)
et ona seq qui est un tableau vide
on a rempli la 1ere case du tableau par la liste des seq2 (copier)
et puis on va tenter de remplir les autres case du tableau
pour rempli la case 2
on concatene les portions de pharse de seq 2 et de seq[0] qui ont la meme 1er et dernier mot
on met le resultat dans la case suivante seq[1]
voilà
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 10:10
27 sept. 2008 à 10:10
Re,
tu tournes en rond
ce n'est pas seq2 qui était ma question (ça je l'ai bien compris)
moi, je parle de **seq
le résultat de ne le mets dans aucune case !!!!!!!!!!!!!!!!!!!!!!!!!!
tu crées une NouvelleListe en utilisant les mots de seq2 et ce que tu trouves dans les cases (listes) seq[0] ........seq[19999] de ton tableau de listes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
teste la fonction que je t'ai donnée
tu tournes en rond
ce n'est pas seq2 qui était ma question (ça je l'ai bien compris)
moi, je parle de **seq
le résultat de ne le mets dans aucune case !!!!!!!!!!!!!!!!!!!!!!!!!!
tu crées une NouvelleListe en utilisant les mots de seq2 et ce que tu trouves dans les cases (listes) seq[0] ........seq[19999] de ton tableau de listes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
teste la fonction que je t'ai donnée
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 10:06
27 sept. 2008 à 10:06
Re,
quelque chose comme ça
quelque chose comme ça
Liste * GenNseq(Liste *seq2, Liste **seq) { Liste *p; Liste *q; int i; char * mot; char * mot1; char *first; char *last; char buff1[C_TAILLE_MOT];/* pas besoin de malloc car 50 est une petite taille et ca s'ajuste avec Liste::mot */ char buff2[C_TAILLE_MOT];/* deux buffer temporaire: un pour chaque liste!*/ Liste *pNouvelleListe;/* pour creer la liste*/ Liste *pCourant; pNouvelleListe=NULL; for(p=seq2; p!=NULL; p=p->suivant){ mot=p->mot; if(mot){ first=GetFirstWord(mot, buff1); for(i=0;i<20000;++i){ // pour chaque élément (liste) de seq for(q=seq[i]; q!=NULL; q=q->suivant){ // seq[i] - element(liste) de seq mot1 =q->mot; if(mot1){ last=GetLastWord(mot1, buff2); if(strncmp(first, last,C_TAILLE_MOT)==0){ printf("similaires!!!!"); pCourant = malloc(sizeof(Liste)); pCourant->freq = 1; strncpy(pCourant->mot,first,C_TAILLE_MOT); pCourant->suivant = pNouvelleListe; pNouvelleListe = pCourant; } } } } } } return pNouvelleListe; }
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
27 sept. 2008 à 10:09
27 sept. 2008 à 10:09
merci Lami, je sais pas si j'etais claire ^^
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
27 sept. 2008 à 10:10
27 sept. 2008 à 10:10
Re,
Pas du tout.
Pas du tout.
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
27 sept. 2008 à 10:16
27 sept. 2008 à 10:16
oula ca plante encore;
il a affiché similaire!!!! et puis il se plante
:(
il a affiché similaire!!!! et puis il se plante
:(
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
27 sept. 2008 à 10:17
27 sept. 2008 à 10:17
T'attends quoi pour afficher ici l'erreur.
stroumpf
Messages postés
289
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
1 mars 2009
2
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
27 sept. 2008 à 10:19
27 sept. 2008 à 10:19
il na rien affiché lami sauf le message: projet a cessé de fonctionner...