重複の可能性:
C++ で配列を使用するにはどうすればよいですか?
配列を配列にコピーするのに問題がありました。ポインターの使用が原因である可能性があると感じていますが、間違っている場合は修正してください。
私の機能は次のとおりです。
bool sodoku::rowTest(sodoku *arr[9][9])
{
int row = 0;
while(row < 9)
{
for(int j = 0; j < 9; j++)
{
for(int k = 0; k < 9; k++)
{
if(arr[row][j]->number == arr[row][j]->possibleNumbers[k])
{
for(int i = 0; i < 9; i++)
{
arr[row][i]->possibleNumbers[k] = 0;
}
}
for(int g = 0; g < 7; g++)
{
int t = 8;
arr[row][g]->possibleNumbers[k] = arr[row][t]->possibleNumbers[k];
}
cout << "arr row j num : " << arr[row][j]->possibleNumbers[k] << "row: " << row << " column: " << j << endl;
}
}
row++;
}
if(row == 9)
return true;
}
return true;
}
私の小さな問題のセクションはここにあります:
for(int g = 0; g < 7; g++)
{
arr[row][g]->possibleNumbers[k] = arr[row][8]->possibleNumbers[k];
}
各要素をカウントすると、何らかの理由でコピーが行われません。なぜこれが起こるのかを知るために誰かが私を助けることができますか? arr[row][1]->possibleNumbers[k] から arr[row][7]->possibleNumbers[k] までのすべての配列が arr[row][8]->possibleNumbers[k] と同じ値を持つようにしたいだけです]。それが役立つ場合、PossibleNumbers の範囲は 0 から 9 です。
誰かがそれを助けることができれば、それは素晴らしいことです.
ありがとう。