Frage zum Thema arrays

  • hallo leutz,


    ich versuche gerade eineige vorgehensweisen in bezu auf array zu verstehen, hierzu bin ich auf eine aufgabe gestoßen. nun meine frage wie kann ich diese am besten lösen


    mein array schaut so aus


    $aArray[20] = [1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5]


    aus diesem array soll eine 4D Array geerriert werden

    $neuArray[4][5]=[[1, 2, 3, 4, 5],[1, 2, 3, 4, 5],[1, 2, 3, 4, 5],[1, 2, 3, 4, 5]]


    wie stellt man so etwas an ?


    GRuß

    Pre

  • Das ist doch nur 2D.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $aArray[20] = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
    _ArrayDisplay($aArray, "1D")

    [/autoit] [autoit][/autoit] [autoit]

    $aArray2D = _Array1DTo2D($aArray, 4, 5)

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay($aArray2D, "2D")

    [/autoit] [autoit][/autoit] [autoit]

    Func _Array1DTo2D($a1D, $i1D, $i2D)
    ;funkey 25.02.2010
    Local $a2D[$i1D][$i2D]
    Local $iUbound = UBound($a1D)
    Local $iCount = 0
    If $i1D * $i2D <> $iUbound Then Return SetError(1)

    [/autoit] [autoit][/autoit] [autoit]

    For $y = 0 To $i1D - 1
    For $x = 0 To $i2D - 1
    $a2D[$y][$x] = $a1D[$iCount]
    $iCount += 1
    Next
    Next
    Return $a2D
    EndFunc ;==>_Array1DTo2D

    [/autoit] [autoit][/autoit] [autoit][/autoit]