내 코드가리스트의 동적 수를 포함 INPUTS라는 목록을 가지고,의는 이벤트알고리즘
나는 것의 A, B, C가 .. N.이 목록에 포함 동적 번호를 부르 자 이벤트의 각 조합이있는 함수를 호출하려고합니다. (이 많거나 작을 수 입력 횟수가 세 파라미터 본 예에서, 동적이지만)
I 각 조합 내 기능이 여러 번 호출해야INPUTS: A(0,1,2), B(0,1), C(0,1,2,3)
: 일례로 설명하기 위해,
function(A[0],B[0],C[0])
function(A[0],B[1],C[0])
function(A[0],B[0],C[1])
function(A[0],B[1],C[1])
function(A[0],B[0],C[2])
function(A[0],B[1],C[2])
function(A[0],B[0],C[3])
function(A[0],B[1],C[3])
function(A[1],B[0],C[0])
function(A[1],B[1],C[0])
function(A[1],B[0],C[1])
function(A[1],B[1],C[1])
function(A[1],B[0],C[2])
function(A[1],B[1],C[2])
function(A[1],B[0],C[3])
function(A[1],B[1],C[3])
function(A[2],B[0],C[0])
function(A[2],B[1],C[0])
function(A[2],B[0],C[1])
function(A[2],B[1],C[1])
function(A[2],B[0],C[2])
function(A[2],B[1],C[2])
function(A[2],B[0],C[3])
function(A[2],B[1],C[3])
이것은 내가 지금까지 생각한 것입니다. 내 접근 방식은 지금까지 조합 목록을 작성하는 것입니다. 요소의 조합은 자체 입력 배열 A와 "인덱스"의 목록입니다, B와 C의 예를 들면 다음과 같습니다
내 목록 iCOMBINATIONS는 다음 iCOMBO이
(0,0,0)
(0,1,0)
(0,0,1)
(0,1,1)
(0,0,2)
(0,1,2)
(0,0,3)
(0,1,3)
(1,0,0)
(1,1,0)
(1,0,1)
(1,1,1)
(1,0,2)
(1,1,2)
(1,0,3)
(1,1,3)
(2,0,0)
(2,1,0)
(2,0,1)
(2,1,1)
(2,0,2)
(2,1,2)
(2,0,3)
(2,1,3)
그럼 내가 이런 짓을 했을까 나열 포함 :
foreach(iCOMBO in iCOMBINATIONS)
{
foreach (P in INPUTS)
{
COMBO.Clear()
foreach (i in iCOMBO)
{
COMBO.Add(P[ iCOMBO[i] ])
}
function(COMBO) --- (instead of passing the events separately)
}
}
그러나 주어진 수의 입력 및 해당 이벤트에 대해 목록 iCOMBINATIONS를 작성하는 방법을 찾아야합니다. 어떤 아이디어?
실제로 이보다 나은 알고리즘이 있습니까? 나를 도와주는 의사 코드는 훌륭합니다.
C 번호 (또는 VB)
당신
또한 대문자 규칙에 읽을 할 수 있습니다 ... http://msdn.microsoft.com/en-us/library/ ms229043.aspx –
대문자 사용 규칙을 제외하고는 X 좌표와 Y 좌표를 취하고 모든 가능한 점 (X, Y)을 보는 것과 같은 "데카르트 제품"에 대해 이야기하고 있습니다. 문제의 정확한 이름에서 출발하면 약간의 진로가 있어야합니다. 아래 내 의견을 참조하십시오. – maxwellb