[..] Générer toutes les possibilités

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

[..] Générer toutes les possibilités

#1

Message par Yoyo86220 »

Bonjour à tous,

Voici le script que j'ai besoin:
Au démarrage une inputbox ou on peu écrire se que l'on veut et je veux que le script génère toutes les combinaisons possible.

Voici se que j'ai fait mais ça ne créé pas toute les possibilité...

Code : Tout sélectionner

$mot = InputBox("Entrer votre mot", "")
$len = StringLen($mot)
For $m = 1 To $len
    For $i = 0 To $len-2
        $Lettre_a_decal = StringMid($mot, $len-$i, 1)
        $lettre_avant = StringMid($mot, $len-$i-1, 1)
        $Lettres_apres = StringMid($mot, $len-$i+1, $len)
        $lettres_avant = StringLeft($mot, $len-$i-2)
        $mot_possible = $lettres_avant&$Lettre_a_decal&$lettre_avant&$Lettres_apres
        FileWriteLine("Password.txt", $mot_possible)
    Next
Next
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#2

Message par Yoyo86220 »

Aucune idée?
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#3

Message par jbnh »

Salut,

Bon j'ai un peu cherché et j'ai pas trouvé :P Je poste quand même ce que j'ai pondu en espérant que ca donnera une idée a quelqu'un de plus compétent :

Code : Tout sélectionner

Local $random
$word = "bonjour"
$len = StringLen($word)
$Array = StringSplit($word,"")
 
For $X = 1 to $Len
    $random &= $Array[Random (1, $Array[0], 1)]
Next

Msgbox(0,"", $random)
Mon code retourne un mot composé des lettres de bonjour en random.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#4

Message par ani »

je dois avoir un algo quelque part sur un des pc
si je comprend bien votre demande vous désirez retourner toute ls possibilitées
genre 1234 retourne 24 combinaison ?
1*2*3*4 = 24 ?

je reviend ;)
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#5

Message par Yogui »

script en provenance du forum anglais :

Code : Tout sélectionner

Local $current = 1
Local $set = 'bonjour'
While StringLen(FindPhrase($current,$set)) <= 7 
    ConsoleWrite(FindPhrase($current,$set) & @CRLF)
   $current += 1
Wend

Func FindPhrase($num, $set, $min_len=1)
    If $num = 0 Then Return ""
    Local $table = StringSplit($set,'')
    Local $set_len = $table[0]
    Local $total = 0, $i=0, $len=0, $value
    For $i = $min_len-1 To 1 Step -1
        $num += $set_len^$i
    Next
    While $total < $num
        $len+=1
        $total += $set_len^$len
    WEnd
    $total-=$set_len^$len
    While $total < $num And $len > 0
        $total += $set_len^($len-1)
        $i += 1
        If $total = $num Then
            $total -= $set_len^($len-1)
            $value &= $table[$i]
            $len-=1
            $i=0
        EndIf
        If $total > $num Then
            $total -= $set_len^($len-1)
            $value &= $table[$i]
            $len-=1
            $i=0
        EndIf
    WEnd
    Return $value
EndFunc
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#6

Message par ani »

a regarder comme çà, je suis pas sure que sa soit çà !
le script va découper le mot s'en tenir compte du mot entier , je m'explique
bonjour
=> bbbbbbb, bbbbbbo ect...

(bonjour) = 5040(combinaison)
1*2*3*4*5*6*7 et non 7^7

je reprend le 1234 = 24 combinaison en comptant le 1234

Code : Tout sélectionner

1234
1243
1342
1324
1423
1432

2134
2143
2341
2314
2413
2431

3214
3241
3124
3142
3421
3412

4321
4312
4231
4213
4132
4123
je retrouve pas mon petit algo :(
vais essayer de le refaire :o
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#7

Message par Yogui »

Effectivement alors je corrige toujours en directe du forum anglais
► Afficher le texte

ce qui bonne :
► Afficher le texte
Edit pour ajouter ce lien :

http://msdn.microsoft.com/en-us/library/aa302371.aspx
Modifié en dernier par Yogui le ven. 27 févr. 2009 15:27, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#8

Message par Tlem »

Super le brainstorming. :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Générer toutes les possibilités

#9

Message par ani »

merci yogui :)
Répondre