C ++数独(开始编码器)

时间:2014-11-02 00:18:03

标签: c++ arrays sudoku

我想提示用户输入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;
}        

所以我很确定我知道错误:检查数组。但是,我不知道如何解决它。有什么建议?我是初学者,所以我不知道很多代码。

编辑:对不起,我不知道在堆栈溢出时我应该问什么样的问题。我想知道的是如何检查数组是否包含确切顺序的数字。

1 个答案:

答案 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