Problem mit Sudoku-Solver
-
geh mit dem debugger durch die stelle, an der er sich aufhängt.
-
3TageBart schrieb:
Ich hab ein wenig rumprobiert hab aber nix gescheites hinbekommen, das Programm hängt sich immer auf.
hängt es sich echt auf, oder ist es nur ein wenig langsam und würde 30 tage brauchen? ich würde da, um sicher zu gehen, zum beispiel einmal pro sekunde ne ausgane des gesamten feldes machen.
-
kann mir jemand verraten, warum bei mir der fehler
.\main.cpp(9) : error C2668: 'sqrt' : ambiguous call to overloaded function
kommt?
-
das Programm läuft ein paar sekunden und dann kommt : "Es trat ein Problem auf, das Programm muss beendet werden blablabla^^"
-
Also bei Joomoo's letztem Code kommt bei mir der Fehler:
.\Sudoku.cpp(6) : error C2668: 'sqrt': Mehrdeutiger Aufruf einer überladenen Funktion
C:\Programme\Microsoft Visual Studio 8\VC\include\math.h(581): kann 'long double sqrt(long double)' sein
C:\Programme\Microsoft Visual Studio 8\VC\include\math.h(533): oder "float sqrt(float)"
C:\Programme\Microsoft Visual Studio 8\VC\include\math.h(128): oder "double sqrt(double)"
bei Anpassung der Argumentliste '(const int)'was kann ich dagegen machen? hab noch nich wirklich ahnung davon....
-
Explizit in einen float, double oder long double casten:
const int box = static_cast<int>(sqrt(static_cast<double>(n)));Greetz
-
Ok. thx das funktioniert jetzt. Allerdings kommt jetzt noch ein Fehler in Zeile 90:
...\sudoku.cpp(90) : error C4716: 'print': Muss einen Wert zurückgeben
da ich in dem ganzen Programm noch nicht wirklich durchsehe, weiß ich jetzt hier auch nicht was er von mir will..
-
Ich glaube, du solltest erstmal die Grundlagen von C(++) verstehen, dann wird's einfacher

"print()" ist definiert als bool-Funktion, also mußt du ihr auch ein return spendieren. Alternativ kannst du es ändern in "void print()".
-
bin ja grad dabei. hab dieses semester mein studium angefangen und hab leider überhaupt keine vorkentnisse in C(++) und muss ein Projekt in Strukturiertes Programmieren bearbeiten. Da hab ich mir den Sudoku-Löser/Entwerfer ausgesucht. Und da such ich jetzt schonmal ein Programm was funktioniert um zu sehen wie das abläuft.
-
Also mit "void print()" hats nich geklappt. ich hab jetzt einfach nen false zurückgegeben
keine ahnung ob das richtig ist, aber das programm läuft auf jeden fall erstmal (auch mit "return true").Und weiß jemand von euch ob es auch nen mehr grafischen Sudoku-Löser irgentwo 4 free gibt? Also nich nur Blackbox sondern mit Benutzeroberfläche und Buttons und so...
-
Hi!
Wenn du mit Quellcode meinst, wirst du den Code erst recht nicht verstehen, wenn du nicht mal die Grundlagen in C++ richtig drauf hast. Aber hab mal bei google einfach "sudoku solver" eingegeben und gleich als erstes einen Online-Solver gefunden:
http://www.sudokusolver.co.uk/Ich würde dir aber erstmal empfehlen mit leichteren Anwendungen anzufangen und C++ so weit lernen das du einigermaßen sicher darin bist bevor du dir Anwendungen mit grafischer Benutzeroberfläche antust.
Des Weiteren sollte es reichen aus bool vor dem print ein void zu machen:
void print() { // ... }Ansonsten haste irgendwas falsch gemacht.
Greetz