如何找到具有特定值的行或列的总和?

时间:2019-02-01 01:26:00

标签: c arrays

我试图代码幻方的问题。我有一个6 * 6的正方形,我知道每行或每列的总和。它是sum = 6 *((36 + 1)/ 2)。在某些地方发生-1。我们必须找出应该是什么,以便魔术方块正确。 我只需要知道如何检查是否为-1并将其替换为正确的数字即可。

这是包含错误的最少代码:

//to check if there is -1
int array[6][6];
sum = 6 * ((36 + 1) / 2)  
int i,j;
for (i=0; i<=6; i++)
    for (j=0; j<=6; j++)
       if(square[i][j] = -1)
       {
           square[i][j] = sum - (sum of the row or column where -1 was found)
       }

1 个答案:

答案 0 :(得分:1)

您的代码逻辑是正确的,我认为您应该遇到的唯一问题是,在两个循环中(对于“ i”和“ j”)都将运行到i = 6和j = 6,因为您可能已经研究了数组的索引(即使在二维数组中)也从0开始,以索引n-1结束(n将是数组的长度)

假设我将数组设为a [3] a [3],那么索引将像这样

a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] a[2][0] a[2][1] a[2][2]