Golfi1812 Geschrieben 10. April 2011 Geschrieben 10. April 2011 Hi Leute, Ich lerne seit einigen Monaten C++ mit einem Buch. Nun habe ich es als Aufgabe bekommen ein Spiel zu schreiben, indem sich der Benutzer eine Zahl zwischen 1 und 100 ausdenkt. Dann stellt der Computer dem Benutzer höchstens 7 Fragen, um die Zahl zu erraten. Ich probier seit mehreren Stunden herrum,aber komme einfach auf keinen grünen Pfad. Stehe total auf dem Schlauch. Kann mir jemand bitte helfen Zitieren
flashpixx Geschrieben 10. April 2011 Geschrieben 10. April 2011 Es wird von Dir erwartet, dass Du die Teile, die Du entworfen hast, hier zeigst. Zitieren
itazubi Geschrieben 10. April 2011 Geschrieben 10. April 2011 ein Tipp wird auf jeden Fall sein: dynamische Bedingungen Zitieren
flashpixx Geschrieben 10. April 2011 Geschrieben 10. April 2011 dynamische Bedingungen Nein das wird hier nicht benötigt, denn der Rechner soll nicht automatisch das Optimum finden, sondern die Schritte sollen durch den Benutzer beeinflusst werden, d.h. es soll nur eine Begrenzung der vom Benutzer gegebenen Antworten statt finden. Da es sich um einen diskreten und beschränkten Datenraum handelt, kann man sehr einfach vorgehen. Denn betrachtet man das ganze im Sinne eines Lösungsbaums können alle Wege, die nicht zu einer Lösung führen direkt ignoriert werden, so dass bei einem Knoten direkt die Entscheidung für einen richtigen Weg fallen kann, d.h. das Bellman-Prinzip, dass man mehrere Teilprobleme lösen musst, ist insoweit nicht erfüllt, da man Teilprobleme, die nicht für die Lösung relevant sind, direkt ignorieren kann. Zitieren
Genodi Geschrieben 10. April 2011 Geschrieben 10. April 2011 Nein das wird hier nicht benötigt, denn der Rechner soll nicht automatisch das Optimum finden, sondern die Schritte sollen durch den Benutzer beeinflusst werden, d.h. es soll nur eine Begrenzung der vom Benutzer gegebenen Antworten statt finden. Da es sich um einen diskreten und beschränkten Datenraum handelt, kann man sehr einfach vorgehen. Denn betrachtet man das ganze im Sinne eines Lösungsbaums können alle Wege, die nicht zu einer Lösung führen direkt ignoriert werden, so dass bei einem Knoten direkt die Entscheidung für einen richtigen Weg fallen kann, d.h. das Bellman-Prinzip, dass man mehrere Teilprobleme lösen musst, ist insoweit nicht erfüllt, da man Teilprobleme, die nicht für die Lösung relevant sind, direkt ignorieren kann. Da kann ich nur zustimmen. Als kleines Beispiel: Ist die Zahl größer als 50? Wenn ja, dann hat man das schon mal um 50% reduziert. Als nächstes: Ist die Zahl kleiner als 75? wieder mal 50%. Das ganze geht so weiter. So hat man am wenigsten Schritte zum Ziel. So funktionieren übgrigens auch die superschnellen Index-algorithmen der Datenbanken oder in Array-Suchen. Zitieren
Sylon Geschrieben 18. April 2011 Geschrieben 18. April 2011 ich geb dir mal ein paar kleine Tipps: wenn du so ein Programm basteln willst überlege dir zuerst was du überhaupt eingeben musst 1. der Compiler muss eine Zahl zwischen 1 und 100 aussuchen und speichern (in einer Variablen) 2. du brauchst Ausgaben, die den Benutzer auffordern zu raten 3. du musst die Rateversuche in einer Variblen festlegen 4. Bedingung formulieren, wie oben stehend -> wenn >raten< größer als >zahl< dann folgendes -> ein rateversuch weniger (z.B. i++) und sagen ob die zahl zu groß oder zu klein usw. Falls du trotzdem nicht weiter kommst kann ich dir auch gern die Quelltext oder den Anfang vom Quelltext geben / schreiben LG Sylon Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.