Что нового

[Массивы] Перекладываем значения из массива в массив

Автор
E

eropov

Jury
Сообщения
195
Репутация
25
У мены не перезаписывает :( Сделал вроде все как надо
Код:
#include<Array.au3>
#include <IE.au3>
Dim $aKoloda[4][9] = [["d6","d7","d8","d9","d1","dJ","dQ","dK","dA"],["c6","c7","c8","c9","c1","cJ","cQ","cK","cA"],["s6","s7","s8","s9","s1","sJ","sQ","sK","sA"], _
    ["h6","h7","h8","h9","h1","hJ","hQ","hK","hA"]]
Dim $aKolod[6] = ["dQ.gif","c9.gif","hJ.gif","hA.gif","s9.gif","sA.gif"]
Dim $aArray[UBound($aKoloda)][UBound($aKoloda, 2)]; ************************
ArrayUpdate($aKoloda,$aArray, $aKolod); ************************
_ArrayDisplay($aArray, "$aArray")
_ArrayDisplay($aKoloda, "$aKoloda")
Func ArrayUpdate(Byref $avArray,Byref $aRet, $a1)
    ;Dim $aRet[UBound($avArray)][UBound($avArray, 2)]
    $sString=_ArrayToString($a1,"|")
    $sString=StringReplace($sString, ".gif", "")
    For $i=  0 To UBound($aKoloda, 1)-1
        For $j=0 To UBound($aKoloda, 2)-1
            If StringInStr( $sString, $aKoloda[$i][$j]) Then
                $aRet[$i][$j]=$aKoloda[$i][$j]
                $avArray[$i][$j]=''
            EndIf
        Next
    Next
    Return $aRet
EndFunc
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Вот же за 3 прохода перекладывает пол массива ?
Код:
#include<Array.au3>
Dim $aKoloda[4][9] = [["d6","d7","d8","d9","d1","dJ","dQ","dK","dA"],["c6","c7","c8","c9","c1","cJ","cQ","cK","cA"],["s6","s7","s8","s9","s1","sJ","sQ","sK","sA"], _
    ["h6","h7","h8","h9","h1","hJ","hQ","hK","hA"]]
Dim $aArray[UBound($aKoloda)][UBound($aKoloda, 2)]; ************************
Dim $aKolod[6] = ["d6.gif","d7.gif","d8.gif","d9.gif","d1.gif","dJ.gif"]	
ArrayUpdate($aKoloda,$aArray, $aKolod); ************************	
Dim $aKolod[6] = ["dQ.gif","dK.gif","dA.gif","c6.gif","c7.gif","c8.gif"]	
ArrayUpdate($aKoloda,$aArray, $aKolod); ************************	
Dim $aKolod[6] = ["c9.gif","c1.gif","cJ.gif","cQ.gif","cK.gif","cA.gif"]	
ArrayUpdate($aKoloda,$aArray, $aKolod); ************************	
_ArrayDisplay($aArray, "$aArray")
_ArrayDisplay($aKoloda, "$aKoloda")
Func ArrayUpdate(Byref $avArray,Byref $aRet, $a1)
    $sString=_ArrayToString($a1,"|")
    $sString=StringReplace($sString, ".gif", "")
    For $i=  0 To UBound($aKoloda, 1)-1
        For $j=0 To UBound($aKoloda, 2)-1
            If StringInStr( $sString, $aKoloda[$i][$j]) Then
                $aRet[$i][$j]=$aKoloda[$i][$j]
                $avArray[$i][$j]=''
            EndIf
        Next
    Next
    Return $aRet
EndFunc
 
Верх