Tom's Guide > Forum > Programmation > Dichotomie dans un dictionnaire en C++

Dichotomie dans un dictionnaire en C++

Forum Programmation : Dichotomie dans un dictionnaire en C++

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous, voilà je débute en C++ et j'aimerais réaliser une fonction qui permet de faire une dichotomie dans un dictionnaire, ce qui me permettrais donc d'y placer un nouveau mots ou de voir si le mot existe.

Citation :


//voilà le dico

struct mots
{
char nom[10];
int numero;

};
struct mots dico[20]={{"absent",3},{"content",5},{"disparu",1},{"grand", 6},{"heureux", 2},{"immense", 4},{"minus", 7},{"petit",8} };



//voila la fonction qui marche qu'a moitié...

void cherche (void)
{
int taille;
int i,j, bas, haut ;
char mot[20] ={};
cout<<"Entrer la taille de votre mots : ";
cin>>taille;
cout<<"Entrer le mot a chercher : ";
for (i = 0 ; i < taille ; i++)
{
cin>>mot[i];
}

j = 0;
bas=1;
haut=8;
while (bas <= haut)
{
j=(bas+haut)/2;
if (mot[0]<=dico[j].nom[0])
haut = (j-1);
else
bas=(j+1);
}
cout<<j;
}




Merci d'avance pour votre aide :lol:

------------------------------ Ce qui élève l’homme par rapport à l’animal, c’est la conscience qu’il a d’être un animal... Du fait qu’il sait qu’il est un animal, il cesse de l’être.
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Déjà utilise le tag "cpp" au lieu de "quote". :)

Ensuite, si tu veux faire une recherche par dichotomie, il faut que tes éléments soient placés dans un ordre.
Et si tu dois faire un tri pour faire ça, mieux vaut faire une recherche séquentielle.

Si tu sais que pour toutes les insertions (initialisation comprise) dans le tableau, tu utilises ta fonction (enfin tu remplace ta structure par une classe et on parle de méthode, c'est plus propre puisque tu fais du C++), alors tu sais que ton tableau est forcément bien ordonné. Il ne reste plus qu'à faire la recherche dichotomique.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Tom's Guide > Forum > Programmation > Dichotomie dans un dictionnaire en C++
Aller à :

Il y a 278 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens