Les 2 parties de mon programme ne marchent pas ensemble

Résolu/Fermé
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017 - Modifié par geekat le 2/06/2016 à 23:09
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017 - 5 juin 2016 à 15:28
Bonjour,
J'ai deux parties dans mon programme. Elles marchent séparément mais pas ensemble. Il s'agit : d'un programme qui élimine les stopwords (mots grammaticaux) dans une chaîne, et d'un programme qui fait le tri des mots et compte leur occurrence.
Ce que je veux faire c'est combiner ces 2 programmes, c'est-à-dire avoir des mots "pleins" (sans mots grammaticaux) triés avec leur nombre d'occurrences.
Voilà où se situe le problème précisément :
Il est à noter que :
- le if permet d'éliminer le stopword. Il marche quand il n'y a pas de for.
- le for permet de trier. Il marche quand il est en dehors du if.

if (i == nombre_stopword -1) // parcourt de tout le tableau_stopword sans trouver un mot egale a words.
{

for (i = 0; i < nbMots; i++){

printf("%s : %d fois\n", strlwr(tableau[i].words), tableau[i].nbOcc);
// Modification avec le tri ici

char ch1[4]="\n";
char *ch2 = tableau[i].words;
lexique = strcat(ch1,ch2);
fputs(lexique,fichier_lexique);
}

words = strtok(NULL," ,'.");
}


Merci

1 réponse

aminos1996 Messages postés 353 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 31 août 2018 125
3 juin 2016 à 11:43
bonjour,

le if marche quand il ya na pas de for , donc forcément il existe une instruction au niveau du for qui fait planter le programme

le for fonctionne quand il est en dehors du if, donc s'est probablement dû au fait que la condition du if n'est pas satisfaite


0
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017
5 juin 2016 à 15:28
Merci pour ta réponse.
En fait, il fallait bien que je les sépare, il y avait aussi un bout de code en haut qui bloquait. Il devait être à l'intérieur du if.
0