배열 공간의 방향에 대해 가정해야합니다. 가정은 0 0, 0, 0에와 있음을 대응하는 숫자를 매핑하는 당신은 Y가 X 다음 다음에 z 반복, 수학은 매우 간단하다 :이 BlackVegetable의 솔루션을 통해 일부 중복 작업을 저장
int x;
int y;
int z;
if (i < XSize * YSize * ZSize)
{
int zQuotient = Math.DivRem(i, ZSize, out z);
int yQuotient = Math.DivRem(xQuotient, YSize, out y);
x = yQuotient % XSize;
}
하는 것으로. 3, 3, 3 행렬의 경우 집합은 다음과 같이됩니다.
i (x, y, z)
0 (0, 0, 0)
1 (0, 0, 1)
2 (0, 0, 2)
3 (0, 1, 0)
4 (0, 1, 1)
5 (0, 1, 2)
6 (0, 2, 0)
7 (0, 2, 1)
8 (0, 2, 2)
9 (1, 0, 0)
10 (1, 0, 1)
11 (1, 0, 2)
12 (1, 1, 0)
13 (1, 1, 1)
14 (1, 1, 2)
15 (1, 2, 0)
16 (1, 2, 1)
17 (1, 2, 2)
18 (2, 0, 0)
19 (2, 0, 1)
20 (2, 0, 2)
21 (2, 1, 0)
22 (2, 1, 1)
23 (2, 1, 2)
24 (2, 2, 0)
25 (2, 2, 1)
26 (2, 2, 2)
어떤 방법으로 반복하고 싶습니까? – scottheckel
자세한 정보를 제공해 주시겠습니까? 모든 항목을 반복하려고합니까? 아니면 단일 조회 값에서 단일 요소에 직접 액세스하려고합니까? –
내 이전 의견은 계속 유지됩니다. 입력과 예상 출력을 제공 할 수 있습니까? –