好的,所以我知道如何将数字存储到数组中,但我正在编写一个数独程序,我需要从输入文件中读取和存储。该文件将有一个半成品数独板,是的,我只需要用它做一些事情。我的问题是板上的数字没有用空格分隔,例如 123456789,我需要单独读取每个数字以将每个数字存储在数组中的不同位置。然而, cin 只会得到整个组,而 cin.get() 会给我 ASCII 值......所以我对如何让它们单独存储有点困惑。也许这是一个明显的答案,我只是没有看到,我不知道。任何帮助表示赞赏。
感谢尼克的回复。我有一个小功能可以从输入文件中填充二维数组。这里是:
对于 ( i = 0; i < 行; i++ ) {
for ( j = 0; j < COLS ; j++ )
{
in.get(getData);
data = getData - '0';
myArray[i][j] = data;
}
}
我添加了您推荐的 getData - '0' 部分,它似乎可以工作,只是我将其作为输出。
1|2|3|4|5|6|7|8|9| -38|1|2|3|4|5|6|7|8| 9|-38|1|2|3|4|5|6|7| 8|9|-38|1|2|3|4|5|6| 7|8|9|-38|1|2|3|4|5| 6|7|8|9|-38|1|2|3|4| 5|6|7|8|9|-38|1|2|3| 4|5|6|7|8|9|-38|1|2| 3|4|5|6|7|8|9|-38|1|
现在的输入文件只有 9X9 行和 '123456789' 列,所以它应该只是输出它。不确定 -38 来自哪里?显示它的代码与现在填充它的代码几乎相同,只是功能不同。任何想法?与此同时,我会修修补补。
好吧,没关系,我知道它正在阅读尾行并把事情搞砸了。我只是在其中放了一点 cin.get(temp) 来阅读结束行并继续。希望这是做事情的正确方法。