Это моя основная рекурсивная функция, которая, похоже, не работает вообще и имеет более странное поведение, чем я ожидал. Что я делаю неправильно? Постскриптум Функция ниже является частью класса. Будет включать остальную часть кода, если это необходимо ..
bool solve()
{
if(isSolved()){return true;}
for(int i=0; i<9; i++)
{
for(int j=0; j<9; j++)
{
if(grid[i][j] > 0)
{
continue;
}for(int k=1; k<10; k++)
{
grid[i][j] = k;
if(tryVal(i,j,k) == true && solve())
{
return true;
}
grid[i][j] = 0;
}
}
}
return false;
}
Задача ещё не решена.
Других решений пока нет …