Random-Buchstaben generieren

  • Hey, es ist nicht sonderlich schön gemacht und kann theoretisch eine Dauerschleife verursachen, funktioniert aber einwandtfrei und ist einfach. Jedes Zeichen kommt nur einmal vor:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Dim $array[8][2]
    For $i = 0 To 7
    $array[$i][0] = Random(0, 1)
    While 1 ; While-Schleife
    $vorhanden = 0 ; Prüf-Variable wird initialisiert
    If $i <= 1 Then $array[$i][1] = Chr(Random(65, 90, 1))
    If $i >= 2 Then $array[$i][1] = Random(0, 9, 1)
    For $j = 0 To $i - 1 ; Schleife überprüft bisher generierte Zeichen
    If $array[$i][1] = $array[$j][1] Then ; sollte generiertes Zeichen vorhanden sein, wird anschließend neu generiert
    $vorhanden = 1
    ExitLoop
    EndIf
    Next
    If $vorhanden = 0 Then ExitLoop ; wenn generiertes Zeichen bisher nicht vorhanden, wird While-Schleife beendet
    WEnd
    Next
    _ArraySort($array)
    $string = ""
    For $i = 0 To 7
    $string &= $array[$i][1]
    Next
    MsgBox(0, "Generierter String", $string)

    [/autoit]


    Andy :)