Salut à tous,
j'ai un exercice dans lequel je dois trier des mots dans un ordre croissant.
Mon code fonctionne mais je n'arrive pas à comprendre pourquoi il me met mes mots dans un ordre décroissant...
Version imprimable
Salut à tous,
j'ai un exercice dans lequel je dois trier des mots dans un ordre croissant.
Mon code fonctionne mais je n'arrive pas à comprendre pourquoi il me met mes mots dans un ordre décroissant...
Argh!
- Pourquoi toutes ces variables globales ?
- scanf("%s") est l'un des deux pires usages possibles de scanf(). Mais faire une bonne saisie, ce n'est pas évident pour un débutant.
- Tu devrais utiliser verifDoublon(i) et non pas verifDoublon(nbId) : Les chaînes au-dessus de i ne sont pas initialisées.
- Pareil pour search(nbId).
- strcmp() n'est pas, à ma connaissance, garantie retourner 1 ou -1 : Elle retourne un nombre positif ou un nombre négatif : Tu dois donc faire tes tests en comparant à zéro.
Par contre, je n'aurais pas pensé à faire une recherche dichotomique, alors que c'est le moment ou jamais puisque le tableau est trié.
Ok j'ai fait les modifs que tu m'as conseillé.
Mais ça ne change rien, je me retrouve quand même avec l'ordre décroissant
8O
Merci de ton aide
Fais des tests de ta fonction search() : Il y a de grandes chances que l'erreur s'y trouve.