Получить все комбинации по парам x y, чтобы получились следующие массивы - VB
Формулировка задачи:
Столкнулся с алгоритмической задачей, с первого взгляда казалось простой, но никак не могу решить как закодить. Есть массив значений:
1)Dx
2)Dy
3)Fx
4)Fy
5)Nx
6)Ny
Исходя из него нужно получить все комбинации по парам x y, чтобы получились следующие массивы:
1 - 1)Dx, 2)Fx, 3)Nx
2 - 1)Dx, 2)Fx, 3)Ny
3 - 1)Dx, 2)Fy, 3)Nx
4 - 1)Dx, 2)Fy, 3)Ny
5 - 1)Dy, 2)Fx, 3)Nx
6 - 1)Dy, 2)Fx, 3)Ny
7 - 1)Dy, 2)Fy, 3)Nx
8 - 1)Dy, 2)Fy, 3)Ny
Гуру выручайте, а то уже мозг из ушей течет
Еще количество заглавных(D,F,N) и строчных(x,y) не фиксировано.
, то есть здесь описан частный случай, может быть например D,F,N,J и x,y,g или любая другая комбинация.
Решение задачи: «Получить все комбинации по парам x y, чтобы получились следующие массивы»
textual
Листинг программы
- Dim n%
- Dim a()
- Private Sub Command1_Click()
- a = Array("", "Fx", "Dy", "Nz", "Gj")
- n = UBound(a)
- List1.Clear
- per 0, 0
- End Sub
- Sub per(t, k)
- If t = n Then
- st = "": k = k + 1
- For i = 1 To n
- st = st + a(i) & vbTab
- Next i
- List1.AddItem k & vbTab & st
- End If
- For i = t + 1 To n
- tm = a(t + 1): a(t + 1) = a(i): a(i) = tm
- Call per(t + 1, k)
- tm = a(t + 1): a(t + 1) = a(i): a(i) = tm
- Next i
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д