Les 2 parties de mon programme ne marchent pas ensemble

[Résolu/Fermé]
Signaler
Messages postés
228
Date d'inscription
vendredi 31 juillet 2015
Statut
Membre
Dernière intervention
24 février 2017
-
Messages postés
228
Date d'inscription
vendredi 31 juillet 2015
Statut
Membre
Dernière intervention
24 février 2017
-
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

Messages postés
353
Date d'inscription
dimanche 26 février 2012
Statut
Membre
Dernière intervention
31 août 2018
125
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


Messages postés
228
Date d'inscription
vendredi 31 juillet 2015
Statut
Membre
Dernière intervention
24 février 2017

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.