Programmer un "moteur de recherche" ? [C++] - C++ - Programmation
Marsh Posté le 10-08-2005 à 02:27:50
au hasard, préparser la liste et l'organiser en un arbre , si tu es courageux y'a la très bonne doc la dessus dans le "Sorting and Searching" de Knuth
sinon pour qu'elle puisse te retourner plusieurs résultats, m'est-avis qu'une liste chainée de pointeurs vers les chaines trouvées serait un format potable
Marsh Posté le 11-08-2005 à 13:03:18
sI J4AI BIEN COMPRIS TU VOUDRAIS AVOIR UNE STRUCTURE DANS LAQUELLE TU STOCKES DES PHRASES (MOT OU MOT COMOSOPéS) ET UNE FONCTION QUI PUISSE TE RETOURNER LE RESULTAT DE TA RECHERCHE.
SI C EST CA MOI JE TE CONSEILLE DE STOCKER tes infos dans un CStringArray (c'est un type prédéini: tableau ce CSTRING) et de passer en paramètre de ta fonction un CString, il te suffira de faire la comparaison avec chaque case de ton tableau, et si le résultat est bon, tu ajoutes cette valeur dans un nouveau CStringArray (ça sera la valeur retour de ta fonction, déclare le en tant que pointeur sur CStringArray), fais attention à "resizer" à chaque nouvel ajout dans ton tableau.
J'espère que c'est assez claire
Marsh Posté le 11-08-2005 à 13:33:57
Et pourquoi pas un std::vector<std::string> ?? Tu peux stocker plusieurs chaînes dedans et ca marche très bien!!
Sinon, l'idée de préparser les mots et de les organiser me parait bien aussi... Ou peut être déjà un tri alphabétique et plusieurs fichiers... ou trouver des catégories de recherches...
Marsh Posté le 16-08-2005 à 09:34:58
zied3 a écrit : sI J4AI BIEN COMPRIS TU VOUDRAIS AVOIR UNE STRUCTURE DANS LAQUELLE TU STOCKES DES PHRASES (MOT OU MOT COMOSOPéS) ET UNE FONCTION QUI PUISSE TE RETOURNER LE RESULTAT DE TA RECHERCHE. |
horreur
Marsh Posté le 16-08-2005 à 14:05:21
Oublie les char *, utilise std::string.
Avec une map tu peux associer un résultat à un mot (string).
Marsh Posté le 09-08-2005 à 22:53:59
Salut à tous,
Je ne sais pas si le titre correspond totalement au sujet mais bon on verra bien ce n´est pas grave.
Voila dans mon programme je voudrais ajouter une fonction de recherche mais je ne suis qu´un débutant et je ne ne connais pas toutes les notions.
Pour éviter de vous encombrer avec de l´inutile je ne posterai pas mon code source. Car c´est une fonction à part entière.
Admettons ce code :
En fait voila je souhaiterai tout simplement savoir comment faire un fichier "liste.h" contenant des mots, composés ou non (très important !) et une fonction qui puissent rechercher dans ce fichier le mot voulu.
J´ai vraiment beaucoup de mal à le mettre en oeuvre. Je ne parviens pas à trouver une solution. En fait il faudrait une fonction qui compare le mot recherché à un mot de la liste et qui passe au mot suivant si le mot ne correspond pas etc...
J´ai pensé à strcmp(Chaine1,Chaine2) mais comment rendre ce truc plus ergonomique et plus compact ( car faire des comparaison entre chaque mot d´une liste de 300 mots par exemple imaginer le truc quoi...).
Aussi comment faire pour que la fonction est la capacité de me donner plus de 1 résultat ?
De plus comment faire des chaines avec des espaces entre les mots ?
Aussi question subsidiaire : Comment afficher les caractères spéciaux dans une phrase ?
Exemple :
Merci beaucoup de vos réponses car vraiment je suis en difficulté phénoménale pour mon niveau