Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

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.

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.