_ArrayCombinations
Возвращает массив как комбинации множества элементов выбранного массива.
#include <Array.au3>
_ArrayCombinations(ByRef $avArray, $iSet [, $sDelim = ""])
Параметры
$avArray | Массив для использования |
$iSet |
Размер множества комбинации элементов |
$sDelim |
[необязательный] Символ разделитель, по умолчанию "" (пустая строка) без разделителя |
Возвращаемое значение
Успех: | Возвращает массив комбинаций |
Возвращает массив, первый элемент ($array[0]) которого содержит количество возвращаемых строк. | |
Остальные элементы ($array[1], $array[2], и др.) содержат комбинации. | |
Ошибка: | Возвращает 0 устанавливает @error: |
@error: | 1 - Массив $avArray не является массивом |
2 - Массив $avArray не является одномерным массивом |
Примечания
Используемый массив должен иметь начальный индекс с нуля, т.е. не содержать счётчик размерности в первом элементе $array[0]. Основано на алгоритме Kenneth H. Rosen.См. также
_ArrayPermuteПример
; *****************************************************************************
; Пример 1 - Объявление одномерного массива и создание массива, показывающего возможные комбинации
; *****************************************************************************
#include <Array.au3>
Dim $aArray[5] = [1, 2, 3, 4, 5]
For $i = 1 To UBound($aArray)
$aArrayCombo = _ArrayCombinations($aArray, $i, ",")
_ArrayDisplay($aArrayCombo, "iSet = " & $i)
Next