Forum » Programiranje » [C]sudoku
[C]sudoku
Steinkauz ::
Torej nikakor ne morm pogruntat kako naj dokončam. Mam spisano, da mi prebere iz fajla podan nerešen sudoku in ga zapiše v tabelo[9][9]. Prazna polja so shranjena kot 0, ostalo pa pripadajoče cifre. Potem mam spisano da preveri vse pogoje pri podanem polju. Zdej pa ne vem kako nej zafilam tam kjer je 0. Mogu bi zafilat prvo polje, kjer je 0 z prvo možno in tako naprej. Ko pride do točke da ne more vstavt nobene gre od začetka? Fora je da more vse možne rešitve ponajt. Ne vem kako naj to spišem. Edino kar mi pride na pamet je pri vsakem 0 polju for zanka od 1 po 9 (sam to je major neumno/bedno :-D).
fiction ::
Rabil bi sestopanje oz. backtracking.
Po domace je to ubistvu poskusanje vseh moznosti.
Takoj ko prides nekam od koder ne mores vec naprej, se vrnes en nivo nazaj (na polje z eno resitvijo manj) in poskusis drugo alternativo. Tako se lahko vracas vec nivojev nazaj in brises kar si ze napisal v tabelo in potem poskusas kaj lahko naredis ce bi recimo tam namesto
1 pisalo 2 in tako naprej.
Vse skupaj se da lepo rekurzivno sprogramirati.
Pazi samo, da ne nosis s sabo v rekurzijo celotnega polja, ampak si raje samo oznaci kaj si na dolocenem nivoju napisal v tabelo in potem ce moras iti nazaj tisto spremeni nazaj v 0.
Po domace je to ubistvu poskusanje vseh moznosti.
Takoj ko prides nekam od koder ne mores vec naprej, se vrnes en nivo nazaj (na polje z eno resitvijo manj) in poskusis drugo alternativo. Tako se lahko vracas vec nivojev nazaj in brises kar si ze napisal v tabelo in potem poskusas kaj lahko naredis ce bi recimo tam namesto
1 pisalo 2 in tako naprej.
Vse skupaj se da lepo rekurzivno sprogramirati.
Pazi samo, da ne nosis s sabo v rekurzijo celotnega polja, ampak si raje samo oznaci kaj si na dolocenem nivoju napisal v tabelo in potem ce moras iti nazaj tisto spremeni nazaj v 0.
Steinkauz ::
Če ma recimo 63 praznih mest, si morm vseh 63 zapisat right? Pol najbolš, da na začetku preberem število praznih mest, nardim tabelo velikosti praznih mest. Sej lahko :
int bla= 63;
int tabela[bla];
ane? Pri c-ju nism nikol sure glede tega :D
Drugač pa mi glih ta rekurzija ni jasna. Ne vem kako naj to spišem.
Mah najbolš da dam source code zravn :
Zaradi neznanih vzrokov mi je noče sm napisat :
Tle je source
Tle pa en sudoku
Se skreša brez
int bla= 63;
int tabela[bla];
ane? Pri c-ju nism nikol sure glede tega :D
Drugač pa mi glih ta rekurzija ni jasna. Ne vem kako naj to spišem.
Mah najbolš da dam source code zravn :
Zaradi neznanih vzrokov mi je noče sm napisat :
Tle je source
Tle pa en sudoku
Se skreša brez
Zgodovina sprememb…
- spremenilo: Steinkauz ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | (Java) Iskanje manjkajoči podatkov v tabeliOddelek: Programiranje | 1072 (837) | noraguta |
» | Excel - prosim za pomočOddelek: Programska oprema | 2454 (1231) | sajmon |
» | Za programerske teoretikeOddelek: Programiranje | 8854 (5656) | Jerry000 |
» | Nekdaj glede MySQL podatkovne bazeOddelek: Izdelava spletišč | 1872 (1639) | zdravc |
» | Še malo teženja o phpOddelek: Programiranje | 1796 (1385) | rc-car |