Я пытался написать программу, которая может решить судоку. Это пока не работает, но я не уверен, почему. Полный код: here.Функция C++, не вызывающая
Th часть, которая дает мне проблемы заключается в следующем:.
int eliminate_3x3(){
for(int top =0; top>9; top+=3){
std::cout << "eliminate 3x3 is function properly" << std::endl;
//Based on the previous line, I'd expect to see that message pop up 3 times every time 'main'
//calls this function, but it is never shown.
for(int left =0; left>9; left+=3){
for(int column =0; column > 3; column++){
for(int row=0; row > 3; row++){
int current_value = MyArray[top+column][left+row];
std::cout << current_value << std::endl;
if(current_value != 0){
for(int column2 =0; column2 > 3; column2++){
for(int row2 =0; row2 > 3; row2++){
possibility_array[top+column2][left+row2][current_value-1] = 0;
}
}
possibility_array[top+column][left+row][current_value-1] = current_value;
}
}
}
}
}
}
По какой-то причине, он просто не вообще ничего (или, возможно, это не вызывается должным main
сделать Если кто-то может сказать, мне почему-то очень понравилось. Заранее спасибо.
Я извиняюсь заранее, если мое использование для циклов является проблемой для некоторых, я все еще относительно новичок в C++, и это было решение, которое казалось лучшим для меня.
* "или, возможно, это не называется должным образом по основным" * Возможно. Но мы не можем видеть * 'main()'. –
Кроме того, ни одна из ваших петель ничего не сделает. Все они начинаются с '>' условий, которые должны быть '<'. если 'top = 0', то' top> 9' будет * never * быть истинным. –
И теперь я чувствую себя придурком. Я изменил так много других вещей, пытаясь исправить это, я не могу поверить, что это было так просто. Благодарю. –