Страница: 1 | 2 |
Вопрос: Перестановки
Добавлено: 09.04.07 14:05
Автор вопроса: Meteor
Ответы
Всего ответов: 17
Номер ответа: 16
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #16
Добавлено: 12.04.07 19:31
____ Я Вам пример написал для массива из 6 элементов сочетания по четыре. Пример "сидит" в событии двойного клика по любой ячеке в книге просто для удобства рассмотрения результата. На первый взгляд — всё работает. —
Dim A(1 To 6) As String
Dim ind(1 To 4) As Long
Dim i As Long, m As Long, n As Long, cur As Long, str As String
A(1) = "A": A(2) = "B": A(3) = "C": A(4) = "": A(5) = "E": A(6) = "F"
m = UBound
n = UBound(ind)
cur = 1
ind(cur) = 1
Do
If ind(cur) > m - n + cur Then
cur = cur - 1
If cur < 1 Then Exit Do
Else
Do Until cur + 1 > n
cur = cur + 1
ind(cur) = ind(cur - 1) + 1
Loop
str = ""
For i = LBound(ind) To UBound(ind)
str = str & A(ind(i))
Next
MsgBox str
End If
ind(cur) = ind(cur) + 1
Loop
End Sub
____ Пример представляет именно "n" вложенных циклов, перебирающих варианты. Любопытная задачка. Спасибо.
____ Думаю, Вам не составит труда сделать общую Sub с соответсвующими параметрами.
Номер ответа: 17
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #17
Добавлено: 13.04.07 17:36
____ Через блокнот их, через блокнот.
____ А чем мой вариант не устраивает