DyadyaGenya
Знающий
- Сообщения
- 300
- Репутация
- 10
Доброго времени суток. Нужно сравнить два разноразмерных массива: одномерный и четырехмерный допустим первую колонку. Результат записать в новый массив. При этом, новый массив должен быть равен числом строк первому, а колонками и их значению во втором. И если во втором массиве значение из первой колонки не совпадает значениям из первого, то дописать новый текст в новом массиве.
Пробую так:
Возможно я выбрал не тот алгоритм сравнения. Но тогда какой?
Пробую так:
Код:
#include <Array.au3>
Global $array2[0][4], $array3[0][4]
Global $array1[]=[1,3,5,7,9]
_ArrayAdd($array2, 1 & '|' & 01 & '|' & 'ang1' & '|' & 'rus1')
_ArrayAdd($array2, 3 & '|' & 00 & '|' & 'ang2' & '|' & 'rus2')
_ArrayAdd($array2, 5 & '|' & 06 & '|' & 'ang3' & '|' & 'rus3')
_ArrayAdd($array2, 9 & '|' & 09 & '|' & 'ang4' & '|' & 'rus4')
_ArrayAdd($array2, 10 & '|' & 10 & '|' & 'ang5' & '|' & 'rus5')
_ArrayAdd($array2, 11 & '|' & 11 & '|' & 'ang6' & '|' & 'rus6')
_ArrayAdd($array2, 12 & '|' & 12 & '|' & 'ang7' & '|' & 'rus7')
_ArrayDisplay($array1)
_ArrayDisplay($array2)
For $j = 0 To UBound($array1)-1
For $k = 0 To UBound($array2)-1
Select
Case $array1[$j] = $array2[$k][0]
$kSTR = $array2[$j][0]& '|' & $array2[$j][1] & '|' & $array2[$j][2] & '|' & $array2[$j][3]
If StringStripWS($kSTR, 8) <> '' Then _ArrayAdd($array3, $kSTR)
Case $array1[$j] <> $array2[$k][0]
$kSTR = $array2[$j][0] & '|' & $array2[$j][1] & '|' & 'rezerv' & '|' & 'rezerv2'
If StringStripWS($kSTR, 8) <> '' Then _ArrayAdd($array3, $kSTR)
Case Else
$kSTR=''
EndSelect
Next
Next
_ArrayDisplay($array3, 'array3')
: ниже то, что хочется получить
Global $array3[0][4]
_ArrayAdd($array3, 1 & '|' & 01 & '|' & 'ang1' & '|' & 'rus1')
_ArrayAdd($array3, 3 & '|' & 00 & '|' & 'ang2' & '|' & 'rus2')
_ArrayAdd($array3, 5 & '|' & 06 & '|' & 'ang3' & '|' & 'rus3')
_ArrayAdd($array3, 7 & '|' & 07 & '|' & 'rezerv' & '|' & 'rezerv2')
_ArrayAdd($array3, 9 & '|' & 09 & '|' & 'ang4' & '|' & 'rus4')
_ArrayDisplay($array3, 'array3new')
Возможно я выбрал не тот алгоритм сравнения. Но тогда какой?