2014-09-25 43 views
0

我正在嘗試將矩陣的細分映射到數組。 通過細分矩陣,我的意思是像9x9數獨矩陣中的3x3框這樣的盒子。將矩陣的細分映射到矢量

爲此我使用:

grid[x][y] = box[x/3 + (y/3)*3]; 

但它不工作,任何sugesstion一個解決方案,爲什麼它不工作的解釋?

編輯: 我知道如何將矢量映射到矩陣。 我想將矢量映射到正方形矩陣的一部分,就像在數獨遊戲中一樣。

EDIT2: Bassicaly我想是能夠一個信箱號例如用3×框和一個9x9的矩陣 (0,0)=> 1 (0,1)=映射到一個元組, > 1 (8,8)=> 9

回答

1

更新應答以EDIT2:

如果你想像的映射:

1 2 3 
4 5 6 
7 8 9 

那麼你原來的代碼幾乎是想你想(只需添加1):

for (int y = 0; y < 9; ++y) 
{ 
    for (int x = 0; x < 9; ++x) 
    { 
     int index = x/3 + (y/3) * 3 + 1; 
     printf("%d ", index); 
    } 
    printf("\n"); 
} 

,輸出:

1 1 1 2 2 2 3 3 3 
1 1 1 2 2 2 3 3 3 
1 1 1 2 2 2 3 3 3 
4 4 4 5 5 5 6 6 6 
4 4 4 5 5 5 6 6 6 
4 4 4 5 5 5 6 6 6 
7 7 7 8 8 8 9 9 9 
7 7 7 8 8 8 9 9 9 
7 7 7 8 8 8 9 9 9 
+0

我的問題是不明確的,我會更新 – maazza 2014-09-25 12:16:02

+0

奇怪我測試你的代碼,它的工作原理但不知何故,我從一開始就是對的,謝謝你,我應該調查其他地方:) – maazza 2014-09-25 12:53:47