Witam, sprawdzałem program dla wielu testów, ale chcę mieć pewność, że dla wszystkich jest poprawny.
Dopóki nie poprawisz ewidentnych błędów, zapomnij o testach. Pierewsza z brzegu funkcja (linia 14):
bool rozwiazanie(int tab[N][N])
{
int rzedy,kolumny;//<--- przypadkowe wartości (zobacz niżej)
if (!znajdzpuste(tab,rzedy,kolumny))//<--- bum!!!
{
return true;//<--- nie ma pustych pól to rozwiązano???
}
for (int liczba=1; liczba<=N; liczba++)
{
if(sprawdz(tab,rzedy,kolumny,liczba))
{
{//<--- to nie błąd , ale po co?
tab[rzedy][kolumny]=liczba;
}
if (rozwiazanie(tab))//<--- nie rozumiem (chyba zgłupiałem)
{
return true;
}
tab[rzedy][kolumny] = puste.oznaczenie;//<--- struktura przechowująca jedną stałą wartość
}
}
return false;
}
Jeszcze perełka (linia 95):
bool sprawdz(int tab[N][N], int rzedy, int kolumny, int liczba)
{
return !sprrzedy(tab,rzedy,liczba) && !sprkolumny(tab,kolumny,liczba) && !sprbloku(tab,rzedy-rzedy % 3,kolumny-kolumny % 3, liczba);
{
return true;
}
return false;
}
linia 175:
if ((tab[w][k])<0 or (tab[w][k])>9)
To ci się kompiluje? Bo według mnie wymaga dołączenie pliku z definicjami.
Reszta podobnie.