尝试在嵌套for循环中交换2d数组中的值

时间:2016-02-23 01:10:12

标签: c arrays

我一直在努力解决这个问题。希望有人可以提供帮助。开始。我有一个二维数组,在嵌套的for循环中初始化。如果数组mod(%)2的维数是偶数(d%2 == 0),我想将数组矩阵中的元素2和元素1相互交换。

我正在努力解决的另一个想法是,我可以简单地将1和2显式地分配给for循环中数组的索引,而不是执行交换。

这是我到目前为止的代码..我感谢任何有助于我找到正确解决方案的输入。

if (d % 2 == 0)
{        
    for (row_i = 0; row_i < d; row_i++)//loops through rows
    {
        for(col_j = 0; col_j < d; col_j++) //loops through column
        {
            board[row_i][col_j] = multi_dim--;
            if(board[row_i][col_j] == 2 && board[row_i][col_j] == 1)
            {
                int hold = board[d][d -2];
                board[d][d - 2] = board[d][d - 1];
                board[d][d - 1] = hold;
            }
            printf(" %2d ", board[row_i][col_j]);
        }
        printf("\n");  
    }
}

1 个答案:

答案 0 :(得分:1)

if(board[row_i][col_j] == 2 && board[row_i][col_j] == 1)

此测试始终为false。你要求同一个变量'board [row_i] [col_j]'同时为2和1。