Array bereitet Probleme :/

  • Halli Hallo,

    ich habe folgendes Problem:

    Ich habe einen Array $aArray[15]

    [autoit]


    Dim $aArray[15]
    For $i = 0 To 14 Step 1
    $aArray[$i] = FileReadLine("Eingabe15.txt",$i + 2)
    Next

    [/autoit]

    Der Array ist Ordenlich mit Folgendem gefüllt:

    Spoiler anzeigen


    [0]|96000
    [1]|126000
    [2]|115000
    [3]|125000
    [4]|123000
    [5]|123000
    [6]|112000
    [7]|111000
    [8]|110000
    [9]|110000
    [10]|120000
    [11]|98000
    [12]|130000
    [13]|87000
    [14]|97000

    Wenn ich jetzt mit _ArrayCombinations() Versuche verschiedene Kombinationen des Arrays herauszufinden,
    dann kommt nur folgendes heraus bei _ArrayDisplay():
    [0] 0
    [1] 9600126000115000125000123000123000112000111000110000110000120000980001300008700097000

    Ich möchte aber herausfinden welche Kominationsmöglichkeiten es gibt der oben angegebenen Werte.

    Bitte um Hilfe
    Danke

  • (Blau+Rot+Grün) = (Rot+Grün+Blau) = (Grün+Rot+Blau) = (Blau+Grün+Rot) = (Rot+Blau+Grün) = (Grün+Blau+Rot)

    Das ist alles die selbe Kombination, und aus dem Grund gibt es bei dir auch nur eine mögliche Kombination von allem, nämlich alles.

    Die Funktion _ArrayCombinations() gibt nicht alle Anordnungsmöglichkeiten sondern die Kombinationsmöglichkeiten.

    http://de.wikipedia.org/wiki/Abz%C3%A4…ombinationen.29

    Edit:
    Sorry is schon spät rechne schrott...
    hab ^ mit * verwechselt^^
    ich hab meine Rechnungen mal wieder rausgenommen

    5 Mal editiert, zuletzt von Zeitriss (13. September 2012 um 22:59)

  • Was hast du denn als zweiten Parameter angegeben bei _ArrayCombinations?
    Probier mal so:

    [autoit]

    _ArrayCombinations($aArray, 2, "")

    [/autoit]
  • Ich habe es jetzt geschafft den Array so aufzusplitten wie ich ihn brauche:

    [autoit]


    Dim $aArray[15]
    Dim $Koffer_Werte[15]
    Dim $Koffer_Gewichte[15]
    ;Einlesen der 15 Zeilen der .txt Datei in einem Array
    For $i = 0 To 14 Step 1
    ;In dem ersten Array sind alle Werte durcheinander...
    $aArray[$i] = FileReadLine("Eingabe15.txt",$i + 2)
    ;...Im 2. Array werden alle Werte der Koffer gesammelt...
    $Koffer_Werte[$i] = StringTrimRight($aArray[$i],3)
    ;...Im 3. Array werden die Gewichte aller Koffer gesammelt.
    $Koffer_Gewichte[$i] = StringTrimLeft($aArray[$i],Stringlen($aArray[$i] - 2))
    Next

    [/autoit]

    Und dann suche ich mir eine zufällige Kombination des Arrays

    [autoit]

    $Koffer_Werte[$i]

    [/autoit]


    ...für jede möglichkeit ... also wenn ich einen Kombiniere dann 2 dann 3 usw... mit...

    [autoit]


    $i2 = Random(0,14,1)
    $arWerte = _ArrayCombinations($Koffer_Werte,$i2,"+")
    $Random = Random(1,Ubound($arWerte))
    MsgBox(64,"",$arWerte[$Random])

    [/autoit]

    Jetzt möchte ich aber wenn der sich einen zufallswert ausgesucht hat das er den Zufalls wert den der Array enthält z.B.:
    96000+126000+115000
    jeweils einer Variablen zuordnet ... Sprich:
    96000 soll $1 zugeordnet werden
    126000 soll $2 zugeordnet werden
    115000 soll $3 zugeordnet werden

    Die Werte wurden ja nur aus einem Array entnommen und dann durcheinandergewürfelt und ich will nur erkennen welche Werte er genommen hat da manche Werte zweimal vorkommen und hier ist das problem...