begin process at 2012 05 27 19:58:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > IMPLÉMENTATION DAWG

IMPLÉMENTATION DAWG


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :dawg, anagramme, list, arbre binaire Niveau :Initié Date de création :25/07/2010 Date de mise à jour :02/09/2011 15:50:16 Vu / téléchargé :1 943 / 62

Auteur : Ze1wina

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Voici une proposition d'une implémentation d'un dictionnaire en C avec recherche de mot et d'anagramme avec en bonus une implémentation d'une liste "générique" en C.
N'hésitez pas à critiquer/proposer des amélioration ou des autres fonctionnalités !

Pour que le dico marche, il faut ce fichier : http://www.madfix.com/ods/ods5.txt (un peu lourd donc je n'ai pas pu le mettre directement)

Pour compiler avec gcc (sous linux, étant placé dans le dossier ou a été décompressée l'archive):

  $gcc -c -std=gnu99 -pedantic -Wall *.c
  $gcc -o dawg *.o



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 juillet 2010 14:34:06 :
Suppression d'une toute petite fuite de mémoire ^^";
25 juillet 2010 16:10:19 :
Remplacement du fichier dawg.h par le bon ><
02 septembre 2011 15:50:17 :
lol

 Sources de la même categorie

Source avec Zip KISIEL CD INFO DRIVE par kisiel0147852
Source avec une capture SUPPRESSION DES REDONDANCES DE FICHIERS par cyberntique
Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel
Source avec Zip RECHERCHE D'ANNAGRAMMES par Torin
Source avec Zip ALGO : RESOLUTION "LE COMPTE EST BON" AVEC DES ARBRES BINAIR... par panini21
Source avec Zip CLASS LISTCHAINEE : LC par pastouk
IMPLEMENTATION STL (LIST) par Taron31

Commentaires et avis

Commentaire de BruNews le 25/07/2010 21:50:42 administrateur CS

Si c'est pour une démo des listes, ok.

Sinon il est totalement inutile de charger tous les mots sous forme de liste.
En structurant les mots du ods5.txt sous forme de tables dans un fichier binaire, on a un accès ultra rapide et on encombre nettement moins la mémoire.

Si tu as un PC sous Win64 pour tester, essaie ceci:
http://www.brunews.com/upload_code/scrbbl.zip
ods.dat dans le zip a été fait par un prog sur la base du ods5, il n'est que de 3.61 Mo au lieu des 4.33 originaux du txt.
Ainsi fait, ods.dat se charge en 1 seul READ(), il n'y a )plus de lignes ni autres lenteurs.
Exe (9 Ko) du zip fait les anagrammes et liste les mots de longueur voulue avec les lettres qu'on précise, résultat instantané: exemple 10 lettres an spécifiant 'S' final seulement result 25700 mots illico affichés.

Commentaire de Ze1wina le 26/07/2010 03:46:33

Le but principale était de faire créer puis de faire mumuse avec un dawg en fait. Je n'ai pas encore testé scrbbl mais dès qu'un windows me tombe sous la main je le fais ! (wine il aime pas quand c'est du 64bits U__U)

Par contre : "En structurant les mots du ods5.txt sous forme de tables dans un fichier binaire" peux tu m'expliquer un peu plus ta méthode ?

Commentaire de BruNews le 26/07/2010 10:16:18 administrateur CS

Les mots de 2 lettres tous à la suite, ensuite ceux de 3 etc jusque 15.
Plus aucun espace ni saut de ligne, tous les octets à la suite.
En début de fichier, 15 DWORDs (direct en binaire) indiquant combien de mots dans chaque table de 2 à 15.

Commentaire de Ze1wina le 26/07/2010 11:34:26

Donc quand tu veux par exemple les mots de 10 lettres finissant par 'S' je suppose que tu comptes d'abord le nombres de caractères à sauter, puis le nombre de caractères à lire. Tu lis les mots situés entre tes deux bornes un à un et tu regardes si y'a un 'S' final.
Économique en mémoire certes, et certainement aussi voir plus rapide pour la recherche d'anagramme avec inconnu( et encore je vais essayer d'implémenter la même fonctionnalité pour tester), mais l'est ce vraiment quand il s'agit de trouver tous les mots "formables" (pas de fautes me dit mon correcteur, ce mot existe ? Oo) avec les lettres d'un autres : avec cette méthode, pas d'autres choix que de lire tous les mots de l'ods :s

Commentaire de BruNews le 26/07/2010 17:29:39 administrateur CS

Certes si on demande les mots "formables" (pas vu dans le Larousse) partant de 'ABCD' on va parcourir au complet de la table 4 jusque 15.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment afficher la liste des fichiers dans le composant List View [ par kanimana ] Bonjour Svp, indiquez moi la fonction qui permettera d'afficher les fichier contenu dans un répertoire dans le composant ListView, avec les détails liste contenant un objet d'une de mes classes [ par Eric ] Salut,Je voudrais créer une liste contenant comme objet une de mes classes..par exemplelist &lt; ma_Classe &gt; ma_Liste_de_ma_Classe;mais je ne sais mailing list [ par dragon ] c'est pas vraiment un appel a l'aide, mais c'était la section du forum qui me paressait la plus appropriéje suis codeur pour le mod StarCraft Tatal Co police et ListBox [ par JeriKo ] salut à tousça fait 2 heures que j'essaye de changer la police de ma listbox, y a rien à faire ça veut pas :(alors j'ai fait comme çaCListBox *list list control [ par soshell ] Bonjour!J'ai un projet à finir dans 2 jours ( je sais c pas malin...) et j'ai commencé la prog windows hier, c pour ca ke j'ose mettre ce post dans au Appel au pros du Malloc [erreur etrange] [ par Manson ] Bonjour,j'aimerai lister le contenu d'un repertoire dans un tableau de char. Mon pb, c'est que lorsque je le fais, j'ai mon tableau qui ne se rempli p faire fonctionner une list box [ par lolman27 ] c tout con ms jarive pas a faire fonctionner une list box jarive pa a utiliser la fonction sendmessage quelqun pourrai me faire un code pour exemple s pb list box en VC++ [ par owel ] salut !!je voudrai faire un truc simple affiché le contenu d'un repertoire dans une list box mais je n'y arrive pas !la lecture du fichié pas de pb !m Erreur Template [ par yodasoft ] Bonjour , je suis nouveau sur ce site:J'ai une erreur sous Visual C++Il me met l'erreur suivante :guichet.obj : error LNK2001: unresolved external sym Écrire un Message dans « List Box » [ par JCpp ] Slt,Sur le langage Visual Studio en CppDans la fenêtre « Dialog1 », j?ai mi une fenêtre « List Box »Pour afficher il suffit d?écrire :SendDlgItemMessa


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,889 sec (3)

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