私は数独プログラムを作成しており、次のような test.txt ファイルがあります。
53__7____
6__195___
_98____6_
8___6___3
4__8_3__1
7___2___6
_6____28_
___419__5
____8__79
「_」は実際にはスペースです。_ を付けた理由は、各行に文字通り 9 文字しかないことがわかるようにするためです。
GRID [行] [列]のようなことをしなければならないと思っていましたが、率直に言って、配列をどのタイプに配置すればよいかわかりません。
GRID[0][0] を出力したい場合は 5 を返し、GRID[0][3] を要求すると ' ' を返すようにしたいだけです。
それはそれを取得しているので、配列は数字とスペースの両方を格納しており、完全に失われています
私が現在これまでに試したこと:
int main()
{
ifstream myfile(test.txt);
string line;
char sudoku_grid[9][9];
if (myfile.is_open())
{
while(myfile.good())
{
getline(myfile, line);
cout << sudoku_grid[line] << endl;
}
myfile.close();
}
else cout << "error";
return 0;
}
エラー行 12 が返されます: 「数独_グリッド [行]」 の「演算子 []」に一致しません
これが皆さんのガイドラインによる私の試みです:
int main()
{
ifstream myfile(test.txt);
string line;
char sudoku_grid[9][9];
if (myfile.good())
{
for(int i = 0; i < 9; i++)
{
getline(myfile, line);
for(int j = 0; j < 9; j++)
{
if (line[j] == ' ')
sudoku_grid[j][i] = -1;
else sudoku_grid[j][i] = line[i];
}
cout << sudoku_grid[i] << endl;
}
myfile.close();
}
else cout << "error";
return 0;
}
結果は、奇妙な文字と新しい数字の非常にぎこちない答えです。