Что нового

[Массивы] Помогите плиз сцепить последовательно 3 двумерных массива в один

Artison

Новичок
Сообщения
2
Репутация
0
С массивами, к сожалению, на Вы поэтому прошу помощи спецов
Есть 3 двумерных массива:
Dim $MASSA[68][4] =[[......
Dim $MASSB[68][4] =[[......
Dim $MASSC[68][4] =[[......
помогите их сцепить в один $MASSD [204] [4]
Заранее благодарен
 

xaker

Знающий
Сообщения
52
Репутация
16
вот пример
Код:
#Include <Array.au3>

Global $avArrayA[5][3] = [[5, 20, 8],[4, 32, 7],[3, 16, 9],[2, 35, 0],[1, 19, 6]]
Global $avArrayB[5][3] = [[5, 20, 8],[4, 32, 7],[3, 16, 9],[2, 35, 0],[1, 19, 6]]
Global $avArrayC[5][3] = [[5, 20, 8],[4, 32, 7],[3, 16, 9],[2, 35, 0],[1, 19, 6]]

_ArrayDisplay($avArrayA)

_CombineArray( $avArrayA, $avArrayB)
_CombineArray( $avArrayA, $avArrayC)

_ArrayDisplay($avArrayA)

Func _CombineArray( ByRef $aArray1, ByRef $aArray2)
	If Not IsArray($aArray1) Or Not IsArray($aArray2) Then Return 0
	Local $iCols1 = UBound($aArray1, 2), $iCols2 = UBound($aArray2, 2)
	If $iCols1 <> $iCols2 Then Return 0
	Local $iRows1 = UBound($aArray1, 1), $iRows2 = UBound($aArray2, 1), $iRowsNew = $iRows1+$iRows2
	ReDim $aArray1[$iRowsNew][$iCols1]
	For $i = 0 To $iRows2 - 1
		For $j = 0 To $iCols1 - 1
			$aArray1[$i+$iRows1][$j] = $aArray2[$i][$j]
		Next
	Next
	Return 1
EndFunc
 
Верх