Zufallssortierung in ein Array

  • hallo,

    ich suchte eine lösung um in einem array die zahlen 1-24 per zufall in der reihenfolge zu erzeugen. die zahlen sollten alle vorkommen, aber eben nur einmal.
    mit folgendem programm kam ich zum ergebnis:

    Spoiler anzeigen

    #include<Array.au3>

    ;~ Zufallsreihenfolge von Zahlen 1 bis $Ewert
    ;~ AutoIt v3.2.10.0
    ;~ Author ExBerliner 29.11.2007

    $Zwerte=""
    $Ewert=24 ; 1 bis x
    $i=0
    while 1
    $tmp=Random(1,$Ewert,1)
    If Not StringInStr($Zwerte," "&$tmp&" ") Then
    $Zwerte=$Zwerte&" "&$tmp&" "
    $i+=1
    EndIf
    If $i=$Ewert Then ExitLoop
    WEnd
    $Zwerte=StringStripWS($Zwerte,7)
    $ZArray=StringSplit($Zwerte," ")
    ;~ MsgBox(0,"",$i&@CRLF&"-"&$Zwerte&"-")
    ;~ _ArrayDisplay($ZArray,"")

    irgendwie bin ich aber der meinung, dass ich da etwas um die "ecke" denke.
    daher die frage, ob es noch eleganter gemacht werden könnte ?

    danke und gruss exberliner