IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algo basique de complétion de mot


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Décembre 2018
    Messages : 1
    Par défaut Algo basique de complétion de mot
    Bonjour,

    Attention : grosse question de Noob !

    Je viens vers vous, parce que je fais un blocage idiot.

    Je n'ai pas fait de dev / algo depuis des années (disons 20 ans ^^, j'avais un bon niveau, mais visiblement, j'ai tout perdu) ... et j'avais besoin de dev un tout petit bout de code pour un truc perso.
    C'est plus l'intérêt intellectuel qui m'intéresse que le résultat et je sèche complètement

    N'ayant rien d'autre sous la main, et vu que c'est assez pratique, je suis parti sur un VBA / Excel.

    Mon but :
    - je souhaite sortir la liste de tous les "mots", composés d'une racine et de X caractères derrière de A à Z
    - la racine est configurable
    - la longueur est configurable

    Par exemple : Toto et 3 ... sort la liste de tous les "mots" possible avec Toto + 1 ou 2 ou 3 caractères derrière ... de TotoA à TotoZZZ

    Cet algo basique, je n'arrive pas/plus à le coder

    Idéalement, je souhaiterais tout faire dans 1 seul procédure ... et mettre les X listes sur plusieurs colonnes (TotoX, TotoXX, TotoXXX, TotoXXXX) ... j'ai fait une triple boucle For mais je n'arrive pas à finaliser avec cela ... je pense que ma démarche n'est pas bonne, mais je n'arrive pas à structurer ma pensée pour la résolution de ce pb ...

    Du coup, j'aurais voulu votre aide pour me guider

    Merci !

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 216
    Par défaut
    Faire 3 boucles, pourquoi ? parce qu'on veut 3 caractères apres les 4 lettres T O T O ?

    Si on était dans un langage tel que SQL, on ferait : select mot from mon_fichier where mot like 'TOTO%' and length(mot)= 7;Mais on ne peut pas utiliser ces commandes SQL.
    On va donc faire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Lire toutes les lignes
      Pour chaque ligne lue, si le mot commence par TOTO, et si la longueur du mot est 7 alors afficher ce mot.
    Reste à traduire cela en VBA, mais ça devrait être accessible.

  3. #3
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    HisFrenchness, ne recrée pas la roue. Ni les expressions rationnelles (= expressions régulières = regular expressions = regex).

    En bash, un linuxien taperait juste ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep '^toto.\{0,3\}$' dictionnaire.txt
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ grep -i '^toto.\{0,3\}$' dico.txt
    TOTO
    TOTON
    TOTONS
    TOTOS
    L'informatique a bien changé en 20 ans.
    Et les regex sont utilisées partout.

Discussions similaires

  1. algo recherche mots ressemblant
    Par cleth dans le forum Mathématiques
    Réponses: 11
    Dernier message: 04/12/2008, 13h28
  2. hache MD5 d'un mot.[déplacer dans algo merci]
    Par jack_x4 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 17/07/2007, 18h51
  3. Réponses: 4
    Dernier message: 17/07/2007, 18h51
  4. probleme algo basique
    Par aimad41 dans le forum C
    Réponses: 6
    Dernier message: 06/11/2006, 23h47
  5. Auto-complétion pour les mots clés Begin/End
    Par Alex Laforest dans le forum EDI
    Réponses: 2
    Dernier message: 21/09/2005, 21h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo