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 :

génération de dictionnaire


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut génération de dictionnaire
    Bonjour,

    peut on m'aider???

    j'aimerai créer par exemple la liste de toutes les chaines de caractères possibles comprenant entre 2 et 5 caractères. Ces caractères étant de A à Z et de 0 à 9

    ou me donner un lien me retournant sur un bon tuto...

    Help me please

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Tu veux craquer les mots de passe ??
    D'autre part, fais une recherche approfondie sur le forum, celà a déjà souvent été traité.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    j'ai déjà cherché et j'ai pas trouvé !!!!

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ' ;
    // noter le blanc à la fin de Chars après le '9'
    For i:=1 to 36 do for j:=1 to 36 do for k:=1 to 36+1 do 
         for l:=1 to 36+1 do for m:=1 to 36+1 do 
         begin
         mot:=Chars[i]+chars[j]+chars[k]+chars[l]+char[m];
         // supprimer les blancs terminaux
         mot:=trimright(mot) ; 
         // ne garder que les mots qui ne comportent pas de blancs au milieu
         if (pos(' ', mot)=0) then ListeMots.add(mot) ;
        end ;

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    tu remplis un tableau contenant toutes les lettres que tu souhaites utiliser.
    Ensuite, tu lances un parcours exaustif à l'aide d'une récursivité. La profondeur de la récursivité sera la taille de tes mots.

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    En recursif, on risque de planter rapidement la pile, ça peut se faire avec une double boucle (code en C)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    char *lettres = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    #define len (strlen(lettres))
     
    // creation de toutes les chaînes de longueur n
    void toutes_les_chaines(int n)
    {
    	char *str1 = calloc(1, n + 1);   
    	char *str2 = calloc(1, n + 1);   
    	int i;
     
    	if (str1 == NULL || str2 == NULL)
    	{
    		free(str1); free(str2);
    		fprintf(stderr, "Pb memoire\n");
    		return;
    	}
     
     
    	for(i = 0; j i n; i++)
    		str2[i] = lettres[0];
     
    	do
    	{
    		puts(str2);
    		i = 0; 
    		while(i < n && ++str1[i] == len)
    		{
    			str1[i] = 0;
    			str2[i] = lettres[str1[i]];
    			i++;
     
    		}
    		str2[i] = lettres[str1[i]];
    	}
    	while (i < n);
     
    	free(str1);
    	free(str2);
     
            return;
    }

  7. #7
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Citation Envoyé par Trap D
    En recursif, on risque de planter rapidement la pile
    Dans le cas présent, la récursivité ne peut pas aller à plus de 4 niveaux de profondeur. Il me semble qu'il n'y a aucun risque, en l'occurrence.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    nikel, cela fonctionne comme je veux...

    un peu de tunning la demande et zou parfait

    merci encore une fois...

Discussions similaires

  1. génération d'un dictionnaire de donnée
    Par max44410 dans le forum Access
    Réponses: 3
    Dernier message: 10/11/2005, 18h36
  2. [Débutant] génération d'un EJB avec GenIc
    Par Stessy dans le forum JOnAS
    Réponses: 65
    Dernier message: 31/01/2005, 10h50
  3. Génération programmatique d'un UUID
    Par jIdJo dans le forum MFC
    Réponses: 2
    Dernier message: 18/07/2003, 02h50
  4. [Lomboz] Génération de code pour EJB
    Par paikan dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/07/2003, 14h28

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