所以我一直在努力编写一个能为数独拼图生成数字的函数。这就是它的样子。
我有点迷失在最后一行......我怎样才能检查一个数字是否只出现在一行和一列中?
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.
}
}
}
答案 0 :(得分:2)
你这样做完全错了。
您应该根据规则从1
开始填充数独。
拥有有效的数独游戏后,使用随机排列随机切换数字。
请注意,这是一个非常复杂的问题(如果你包括实际的数独生成,而不仅仅是填充的板),你很可能低估它。
答案 1 :(得分:0)
我会将每个随机数添加到矢量中。然后在生成每个数字之后迭代遍历所有向量成员以检查已存在的值。