一个数字只出现一次
One number appears only once?
所以我一直在尝试写一个函数,为数独游戏生成数字。这就是它的样子。
我读到最后一行有点迷路了…我如何检查一个数字是否只出现在一行和一列中?
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.
}
}
}
你完全做错了。
您应该简单地根据规则填写数独,从1
开始。
当你有一个有效的数独后,使用随机排列随机切换数字。
请注意,这是一个相当复杂的问题(如果您包括实际的数独生成,而不仅仅是填满的棋盘),您很可能低估了它。
我会将每个随机数加到一个向量中。然后,在生成每个数字之后,遍历vector的所有成员,检查是否存在一个已经存在的值。
相关文章:
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 在C++中一次将矢量值写入多个文件
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 为什么 zlib 放气初始化调用一次不起作用?
- 在一次迭代中从 txt 文件中读取多行
- 程序以使用 C++ 中的 while 循环查找一组数字的最小值
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 搜索字符串是否至少包含一次从 0 到 9 的所有数字的最有效方法
- 如何使用Mersenne Twister生成两个数字之间的所有值一次
- 如何一次读取一个数字并将其存储在数组中,跳过重复项
- 一次打印 2 个字节的十六进制数字
- 生成一个rand()%25,其中每个数字只能出现一次
- c++将输出(数字)保存到一个数组中.一次两个数字
- 使用位运算符查找在数组中只出现一次的数字
- 找出一个数组中是否至少有一次从1到K的所有数字
- 一个数字只出现一次
- c++ rand()每个数字只使用一次