Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme de rechercher dans un arbre [ Archives / Au secours ] (raton)

mercredi 3 août 2005 à 16:00:29 | Probleme de rechercher dans un arbre

raton

Voila. J'ai un arbre binaire qui stock des classe CProduit. Et je veux faire une recherche dedans. La fonction que j'ai fait pour l'instant fait planter mon programme. Il m'affiche le resultat et quand je veux fermer mon ecran, tout se fige. Voici mon algo de recherche :

CProduit CListeProduit::Afficher (TCHAR* p_code)
{
 CProduit tmp;

 //Si on est pas sur le bon produit
 if (wcscmp(p_code,TEXT("")) != 0)
 {
  //Alors si le code est plus grand
  if (wcscmp(p_code, m_valeur.GetGenCode()) > 0)
  {
   //Et que la branche de droite existe
   if (m_droite == NULL)
    return tmp;
   else
    //On va chercher dans la branche de droite
    tmp = m_droite->Afficher(p_code);
  }
  else if(wcscmp(p_code, m_valeur.GetGenCode()) < 0)
  {
   if (m_gauche == NULL)
    return tmp;
   else
    tmp = m_gauche->Afficher(p_code);
  }
  else
   tmp = m_valeur;

 }
 else
  tmp = m_valeur;

 return tmp;
}

Et voici mon arbre :

class CListeProduit
{
 private:
  CProduit m_valeur;
  class CListeProduit *m_gauche;
  class CListeProduit *m_droite;

 public:
  void Insert (CProduit p_ajout);
  void Liberer ();
  void Rechercher (TCHAR* p_code);
  CProduit Afficher (TCHAR* p_code = TEXT(""));
  CListeProduit()
  {
   m_gauche = NULL;
   m_droite = NULL;
  }
  ~CListeProduit()
  {
   //Liberer();
  }

};

Merci d'avance

Mess with the best
Die Like the rest

mercredi 3 août 2005 à 16:17:15 | Re : Probleme de rechercher dans un arbre

xterminhate

Membre Club
Tu as droit aux 'template' dans ton photocopieur (ou je sais plus quoi comme appareil) ?

mercredi 3 août 2005 à 16:19:29 | Re : Probleme de rechercher dans un arbre

raton

c'est un scanner ;)

Et je ne sais pas je n'ai pas eu a essayer encore. Pourquoi ?

Mess with the best
Die Like the rest

mercredi 3 août 2005 à 16:23:07 | Re : Probleme de rechercher dans un arbre

xterminhate

Membre Club
Ca serait bien du point de vue conceptuel de séparer l'objet "Arbre Binaire" de l'objet CProduit. En faisant une classe générique (template) CArbreBinaire... Enfin comme tu le sens !

m_valeur.GetGenCode() <- c'est quoi ca ?

mercredi 3 août 2005 à 16:30:01 | Re : Probleme de rechercher dans un arbre

raton

C'est juste une fonction qui retourne un TCHAR* de ma classe CProduit.

Pour le template j'y avais pense... Mais c'est vrai que la j'aimerai juste que ca marche. Mais j'y penserai.

Mess with the best
Die Like the rest

mercredi 3 août 2005 à 20:27:22 | Re : Probleme de rechercher dans un arbre

vecchio56

Administrateur CodeS-SourceS
Pourquoi tu utilises pas map ou set (la STL quoi)?

mercredi 3 août 2005 à 22:26:58 | Re : Probleme de rechercher dans un arbre

xterminhate

Membre Club
Il a déjà répondu. C'est pour de l'enfoui.



Cette discussion est classé dans : code, droite, tmp, cproduit, clisteproduit


Répondre à ce message

Sujets en rapport avec ce message

Arbre binaire [ par raton ] Salut a tous. Je me permets de venir vous demandez une petite vérification.Je suis en train de créer un arbre binaire et je voulais savoir si l'un d'e Code source incomplet en C [ par Sneakito ] Je suis un débutant, or j'ai un programme assez complexe à réaliser(pour moi), voici ce qu'il doit faire:Remplacer un mot dans une page html (hors bal ASM inline et mingw (GCC) [ par skirby ] Bonjour tout le monde,J'aimerais mettre de l'assembleur inline dans mon code en C.J'utilise Code::Block et mingw.Voici un extrait de code qui ne veut besoin d'aide : liste chainée [ par SemBy ] salutjutilse une liste chainée pour pouvoir traité une structure.declaration de ma structure :struct etu{ char nom[25]; char prenom[25]; partage à distance [ par myocean ] quelqu'un sait-il se servir de NetShareAdd car j'ai tjs l'erreur 53 en code de retourma fct :mafctCreerPartage(LPSTR pPoste, LPSTR pCheminPartage, LPS Opérateur de combinaison dans switch... [ par Guidelor ] bonjourcomment faire dans une instruction switch pour voir si la variable testéest egale à 2 valeurs possibles ?genre :switch(int var){case 2 or écriture pointeur de struct [ par Vaughn018 ] Bonjour j'ai un oubli complet (trop de code tue le code!) sur la façon d'écrire des données lorsqu'il s'agit du cas suivant :typedef struct Point{ convertir une chaine de caracatères en hexadécimal [ par vinc524 ] salut all !voilà je voulais savoir s'il existe une fonction pour convertir une chaine de caractètes provenat du port série RS232 récupéré par la métho pb stupide : diviser [ par guifr ] Alors là, je sens que je vais craquer, je suis à deux doigts de commettre un ordicide ! sois mon pc est complètement stupide, ou alors c'est moi (ce q Analyse de code c [ par yoggi22 ] Bonjour je recherche un outil d'analyse de code c pour me permettre d'optimiser. Capable de voir ou le temps et perdu etc...Est ce que qlq connait que


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.