Afficher dans un arbre n aire - C - Programmation
Marsh Posté le 06-02-2006 à 17:20:15
Quelque chose comme ça :
Code :
|
L'utilisation d'un arbre binaire est imposée ? Un arbre n-aire semble beaucoup plus adaptée (et moins redondante), non ? Un langage de plus haut niveau serait également plus adapté à mon avis mais ça c'est un autre débat. :-)
C'est pour faire de la prédiction de saisie sur T12/T15 ?
Marsh Posté le 06-02-2006 à 18:16:18
Salut zavie pour le langage le C c'est en fait le langage que je maitrise le mieux donc le choix a ete vite fait.
Sinon c'est en effet fait pour une prediction de saisie de type T Q, ke systeme qui fonctionne actuellement sur les portable.
Sinon excuse moi mais j'ai pas tres bien compris cette partie de l'algo;
Code :
|
Marsh Posté le 06-02-2006 à 21:23:56
C'est une erreur : je me basais sur la valeur du nombre, mais ça pose problème pour des mots s'écrivant avec des zéros. Il faut utiliser une chaine de caractères numériques plutôt qu'un entier.
L'idée est la suivante : si on arrive à un noeud terminal, ça veut dire que d'après le dictionnaire on est à la fin du mot. Si la chaine ne compte qu'un chiffre, ça colle. Si le noeud n'est pas un noeud terminal, il faut vérifier au contraire que la chaine compte au moins deux chiffres (ou alors dans le cas où il y a de la prédiction, on va explorer au delà de ce que l'utilisateur a déjà tapé, et l'algo est forcément différent). Dans ce cas, on continue le parcours en profondeur en utilisant la chaine numérique commençant au chiffre suivant.
(Edit : typo, paranthèses)
Marsh Posté le 06-02-2006 à 15:33:26
Bonjour tout le monde,
Voila j'ai une question en programmation C je doit realiser un arbre binaire dans lequel j'insere un dictonnaire, pour le moment pas de probleme, mais voila je doit des que je tape une chaine de chiffre telle que 2637 mettre tout les mots qui respectent ces chiffres.
Je m'explique pour la lettre "a" le champ touche de sa structure est de 2, b et c aussi à la maniére des touche de portable.Pour la touche 6 les lettres correspondantes sont m, n et o.
Donc pour la chaine 2637 je devrai afficher :
ames
anes
bods
mais j'arrive qu' afficher ames
je vois pas comment lui dire de faire tous les trajets possible.
J'ai tout essayer et je vois vraiment pas je pense qu il va falloir le faire de maniere recursive, mais meme de cette maniere je ne vois pas.
Si quelqu'un a une idee ce serait sympa car là je ne vois pas.
Merci d'avance
Message édité par elbrabra le 11-02-2006 à 16:29:32