begin process at 2012 05 30 14:46:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

rechercher un mot dans une liste


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

rechercher un mot dans une liste

mercredi 8 juin 2005 à 19:01:09 | rechercher un mot dans une liste

akwell1

salut a tous,

j'ai creer un tableau contenant des mots ( 9 lettres maximum)

je voudrais que lorsque l'utilisateur rentre une sequence de 9 lettre aléatoire, le programme donne tous les mots de ma liste qui pouraient etre formés à partir de ces lettres.(le but etant qu'il affiche les plus longs)

ce programme me semble pas tres complexe, mais n'ayant que des notions de bases, je ne vois pas par ou commencer....

help me

merci akwell

mercredi 8 juin 2005 à 19:12:05 | Re : rechercher un mot dans une liste

thedestiny

Bonjour,

Alors ce n'est pas trop compliqué :)
Tu commences par compter le nombre de lettre saisie par l'utilisateur ( strlen(char*) par exemple )
Après, grace à une liste contenue dans un fichier texte ou autre tu vas faire une simple boucle exemple en vérifiant que les mots de la taille déterminée auparavant contiennent toutes les lettres demandées à l'aide de strstr().

Désolé j'ai pas le temps de te donner un exemple, j'espère que tu y arriveras, sinon dis le je te mettrai le bout de code :)


Amicalement,
The Destiny
mercredi 8 juin 2005 à 19:42:30 | Re : rechercher un mot dans une liste

akwell1

l'utilisateur saisira tjs 9 lettres
mercredi 8 juin 2005 à 23:19:35 | Re : rechercher un mot dans une liste

akwell1

le gros probléme c'est que je n'ai que des notions basiques en c++ (tres basiques)

j'ai eu 15 heures de cours et on aurait dit que le prof parlait a des ramolis du cerveau

mercredi 8 juin 2005 à 23:27:07 | Re : rechercher un mot dans une liste

akwell1

j'avais penser faire tout les anagrammes possibles avec les 9 lettres (9^9 possibilités) et puis les comparer avec ma liste de mot mais c'est assez long d'execution et pas tres performant.
jeudi 9 juin 2005 à 09:20:07 | Re : rechercher un mot dans une liste

buno

Administrateur CodeS-SourceS
soit tab ton tableau de mots et size sa taille.
soit ch1 le mot saisi par l'utilisateur (toujours 9 lettres? pas plus, pas moins?).
Voici ce que tu peux faire:

for (int i=0; i<size; i++)  // parcours du tableau de mots
{
  for (int j=0; j<9; j++)  // parcours des lettres du mot saisi
  {
    if (NULL==strchr(tab[i], ch1[j])  // si une lettre saisie n'appartient pas à un mot "connu"
      return FALSE;                          // on quitte
  }
}

Buno
----------------------------------------
L'urgent est fait, l'impossible reste à faire. Pour les miracles, prévoir un délai...
jeudi 9 juin 2005 à 10:08:38 | Re : rechercher un mot dans une liste

akwell1

l'utilisateur rentre tjs 9 lettes

ex:
bnaeaopte ce qui correspond a bateau ( le mot le plus long dans la liste de mots, possible avec cette sequence de lettes)

voila ce que j'ai su faire pour l'instant...

#include <iostream>
#include <fstream>
using namespace std ;
ifstream fichier("dico.txt") ;


int main (int argc, const char * argv[]){             
const int K=200000 ;
string n;
char a,b,c,d,e,f,g,h,i;

string dico[K];

cin >>a>>b>>c>>d>>e>>f>>g>>h>>i;

if(! fichier.is_open())      // si je fichier de données ne se trouve pas dans le repertoire de l'executable
    cout<<"Erreur lors de l'ouverture du fichier"<<endl;
int z=0;
while(!fichier.eof()){      //la lecture s'arrete quand toutes les données ont été lues
       
 fichier >> n;
 dico[z]=n;
 z++;
}


                           
for (int z=1;z<K;z++){            
 cout<<dico[z]<<endl;
}


fichier.close() ;               
system("PAUSE") ;                
return 0 ;
}                  

jeudi 9 juin 2005 à 10:36:27 | Re : rechercher un mot dans une liste

buno

Administrateur CodeS-SourceS
OK,
ce que tu fais c'est:
- saisir le mot de l'utilisateur
- ouvrir ton fichier contenant la liste de mots prédéfinis (tu devrais peut-être inverser ces 2 étapes...)
- ranger chaque mot dans un tableau
- afficher chaque mot du tableau (attention: tu as oublié d'afficher le 1er élément: dico[0]...)

Reste plus qu'à comparer le mot utilisateur avec ton dico.

Buno
----------------------------------------
L'urgent est fait, l'impossible reste à faire. Pour les miracles, prévoir un délai...
jeudi 9 juin 2005 à 11:34:17 | Re : rechercher un mot dans une liste

akwell1

mais le probleme c'est que je sais pas comment faire pour comparer la sequence de lettres et la liste de mots
car la sequence de lettre est aléatoire
et denerer tout les anagramme a 9lettre (ou moins) et les comparer avec la liste prendrait bcp tro de temps..

alors je bloque
jeudi 9 juin 2005 à 13:33:18 | Re : rechercher un mot dans une liste

buno

Administrateur CodeS-SourceS
Euh... t'as essayé le pseudo-code que je t'ai passé? T'as un soucis pour l'appliquer à ton cas?
En gros, tu as les lettres saisies par l'utilisateur, tu as un mot tiré du dico, tu dois juste vérifier si toutes les lettres du mot courant (tiré du dico) font partie de celles de l'utilisateur...

Buno
----------------------------------------
L'urgent est fait, l'impossible reste à faire. Pour les miracles, prévoir un délai...

1 2

Cette discussion est classée dans : mot, liste, mots, lettres, rechercher


Répondre à ce message

Sujets en rapport avec ce message

comparer des mots [ par Ricpperso ] Bonjours,Ce que je voudrais savoir c'est comment, on compare deux mots, voici mon prob, j'ai dans un richedit, plusieurs mot, et dans une liste, de mo [Visual C++]Rechercher dans une liste [ par goutbouyo ] Salut, Et oui encore moi...Je voudrais pouvoir effectuer une recherche interne dans mon prog. On tape sa recherche dans un edit box puis on clique sur urgent [ par cyrina84 ] salutà tousJai un probleme qui me bloque: jai une table de hachage chainé: un tableau de liste chainé#ifndef TABLE_HASH#define TABLE_HASH</s rechercher un mot dans un fichier txt [ par tanguy704 ] Bonjour Je suis entrain de réaliser un jeu genre scrabble. Les mots valides proposés par les joueurs sont stockés dans un fichier txt un mot par lign Vecteur de pointeur de char [ par noname001 ] Bonsoir à tous. J'ai un petit soucis avec un vecteur de pointeur de char. Voici premièrement sa déclaration [code=cpp] char *mots_cles[MAX_MOTS_CLES Problème pour compter un nombre de lettres [ par Schlaf ] Bonjour,alors voila je doit rédiger un script , voici l'énoncé:(tableau a 1 dimension):Écrire le script qui permet de saisir un mot et qui permet de d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales