这可能被认为是一个低眉问题。然而,我还没有找到任何代码或任何讨论如何在我的编程语言中讨论这个问题的论坛。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