一个号码只出现一次?

时间:2013-04-18 15:53:41

标签: c++ project multidimensional-array sudoku

所以我一直在努力编写一个能为数独拼图生成数字的函数。这就是它的样子。

我有点迷失在最后一行......我怎样才能检查一个数字是否只出现在一行和一列中?

void generator (int row, int col){

    for (int i=0; i<9; i++){
        int randNum= (1+rand()%9);
        for (int j=0; j<i; j++){
            A[i][j]=randNum;
            //check if one number only appears once. 
        }

    }
}

2 个答案:

答案 0 :(得分:2)

你这样做完全错了。

您应该根据规则从1开始填充数独。

拥有有效的数独游戏后,使用随机排列随机切换数字。

请注意,这是一个非常复杂的问题(如果你包括实际的数独生成,而不仅仅是填充的板),你很可能低估它。

答案 1 :(得分:0)

我会将每个随机数添加到矢量中。然后在生成每个数字之后迭代遍历所有向量成员以检查已存在的值。