Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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.

Geschrieben
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.

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...