我想提示用户输入1到9之间的9个整数,我想输出整数是有效还是无效,具体取决于是否有一个数字。这是我现在的代码:
#include <iostream>
#include "conio.h"
using namespace std;
int main(){
int sudoku[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int input;
int check[9];
for (int i = 0; i < 9; i++){
cout << "Enter 9 digits between 1 and 9: ";
cin >> input;
if (input > 1 || input > 9){
cout << "incorrect";
}
check[input-1]++;
}
if (check != { 1, 2, 3, 4, 5, 6, 7, 8, 9 }){
cout << "incorrect";
}
else if (check == {1, 2, 3, 4, 5, 6, 7, 8, 9}){
cout << "correct";
}
_getch();
return 0;
}
所以我很确定我知道错误:检查数组。但是,我不知道如何解决它。有什么建议?我是初学者,所以我不知道很多代码。
编辑:对不起,我不知道在堆栈溢出时我应该问什么样的问题。我想知道的是如何检查数组是否包含确切顺序的数字。答案 0 :(得分:1)
三个问题:
if (input > 1 || input > 9)
检查输入是否大于1或大于9,无意义。
第二
check[input-1]++;
check是未初始化值的数组,如果将某些索引递增1,则结果为
如果你幸运,{1,1,1,1,1,1,1,1,1}
,否则别的。您需要先将值初始化为某些内容。
第三
check is array,如果你将它与某些东西进行比较,你只需比较它的指针。您需要迭代它并检查它是否包含您需要的内容。 Related question here