這可能被認爲是一個低眉問題。然而,我還沒有找到任何代碼或任何討論如何在我的編程語言中討論這個問題的論壇。C已經做了很多嘗試,最終都是在對這些新陣列進行實際「硬編碼」。垂直/水平翻轉二維陣列
我想垂直,然後水平翻轉2d數組。 這似乎很容易,只是系統地通過並操縱每一行和列的值。但是,如果我想討論一個不僅僅是基本的3x3陣列的數組,那該怎麼辦?如11x11或15x15?
**CODE SNIPPET:**
int array[3][3]= { {1,2,3},
{4,5,6},
{7,8,9} };
int vertFlip[3][3],
horzFlip[3][3];
for(i = 0; i < rows; i++)
{
for(j = 0; j < cols; j++)
{
vertFlip[0][i]= array[2][i];
vertFlip[1][i]= array[1][i];
vertFlip[2][i]= array[0][i];
}
} //and so on for horizontal, obviously my nested for loop was different.
但是,如果這個數組是更大的東西(123x123大小的數組)有什麼人知道一個有效的方法來完成這個任務呢?
想想如何翻轉大小爲「N」的數組。一旦完成,翻轉一個marix幾乎是一樣的。 –
請參閱我試圖以此爲例,但這純粹是水平翻轉陣列。我會再考慮一下。 – DancingDylan
你的代碼使用'i'作爲列索引,並且根本不使用'j'。 – user3386109