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

C Discussion :

parcourir un tableau de beaucoup de charactères


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Par défaut parcourir un tableau de beaucoup de charactères
    Bonjour, voilà j'ai un soucis de parcours de tableau, actuellement mon algo créer des listes de mots allant de a à z sur 6 positions mais j'aimerais qu'il fasse la même chose avec des chiffres et des majuscules par exemple sans surcharger avec 50 boucles

    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
     
    #include <string.h>
    #include <stdio.h>
    #include <unistd.h>
     
    int  main(int argc, char *argv[]) {
      char clef[7];
     
    char c1, c2, c3, c4, c5, c6;
     
    	for (c1='a';c1<='z';c1++){
    	clef[0]=c1;      
     
    	         for(c2='a';c2<='z';c2++){
                     clef[1]=c2;                 
     
                        for(c3='a';c3<='z';c3++){
                        clef[2]=c3;              
     
                          for(c4='a';c4<='z';c4++){
                          clef[3]=c4;                    
     
                             for(c5='a';c5<='z';c5++){
                             clef[4]=c5;
     
                                for(c6='a';c6<='z';c6++){
                                 clef[5]=c6;
    				     clef[6]='\0';
     
                                 printf ("%s %s %s \n",clef )
     
              } 
            }
          }
        }
      }
    }
    }

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Passe au C#. Apprends à utiliser la balise [code].

    En regardant ton code, on dirait du bidouillage.

    En plus je vois même pas l'intérêt si ce n'est pour casser un mot de passe par force brut.

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    Passe au C#.
    * Réponse idiote detectaid *

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 814
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par paupiau Voir le message
    Bonjour, voilà j'ai un soucis de parcours de tableau, actuellement mon algo créer des listes de mots allant de a à z sur 6 positions mais j'aimerais qu'il fasse la même chose avec des chiffres et des majuscules par exemple sans surcharger avec 50 boucles


    #include <string.h>
    #include <stdio.h>
    #include <unistd.h>

    int main(int argc, char *argv[]) {
    char clef[7];

    char c1, c2, c3, c4, c5, c6;

    for (c1='a';c1<='z';c1++){
    clef[0]=c1;


    for(c2='a';c2<='z';c2++){
    clef[1]=c2;


    for(c3='a';c3<='z';c3++){
    clef[2]=c3;


    for(c4='a';c4<='z';c4++){
    clef[3]=c4;


    for(c5='a';c5<='z';c5++){
    clef[4]=c5;


    for(c6='a';c6<='z';c6++){
    clef[5]=c6;
    clef[6]='\0';

    printf ("%s %s %s \n",clef )

    }
    }
    }
    }
    }
    }
    }
    Déjà tu peux éviter de passer par 6 variables intermédiaires. Un seul "c" aurait suffit vu que tu le récupères immédiatement. Et même autant éviter de variable intermédiaire en faisant varier directement "clef[n]". Et enfin c'est inutile de mettre un milliard de fois clef[6] à '\0' vu qu'il ne changera jamais

    Maintenant tu peux utiliser une plage de valeurs que tu balayes et une fonction récursive pour simuler autant de boucles imbriquées que tu veux. Exemple
    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
    void crawler(char *mot, char *pos)
    {
        static char plage[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        char *pt;
     
        for (pt=plage; *pt != '\0'; pt++)
        {
            *pos=*pt;
             if (*(pos + 1) != '\0')
                 crawler(mot, pos + 1);
             else
                  printf("%s\n", mot);
        }
    }
     
    #define NB     6
    int  main(int argc, char *argv[]) {
      char clef[NB + 1];
    clef[NB]='\0';
     
        crawler(clef, clef);
    }
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Maintenant tu peux utiliser une plage de valeurs que tu balayes et une fonction récursive pour simuler autant de boucles imbriquées que tu veux.
    * Réponse intelligente detectaid *

    EDIT : Curieusement, ça ne fonctionne pas pour NB valant 3

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 814
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    * Réponse intelligente detectaid
    Ouais !!!

    Citation Envoyé par Emmanuel Delahaye Voir le message
    EDIT : Curieusement, ça ne fonctionne pas pour NB valant 3
    J'ai tapé ma fonction "crawler" un peu en "live" sans la tester. Il se peut que j'ai loupé un truc. C'était juste pour donner une idée que j'ai tapé ça...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Parcourir un tableau?
    Par kanzarih dans le forum Oracle
    Réponses: 2
    Dernier message: 19/01/2006, 19h45
  2. Meilleure Méthode pour parcourir un tableau
    Par KPitN dans le forum MFC
    Réponses: 7
    Dernier message: 24/02/2005, 16h19
  3. Comment parcourir un tableau
    Par petitsims dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/01/2005, 14h33
  4. parcourir un tableau aléatoirement
    Par khayyam90 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 01/12/2004, 13h44
  5. [langage] Parcourir un tableau
    Par Jibees dans le forum Langage
    Réponses: 13
    Dernier message: 22/04/2003, 14h18

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