Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Zusammen,

fange gerade das Programmieren in C an und möchte ein Blackjack Spiel erstellen.

Jetzt weiss ich nur nicht, wie ich bei der Funktion rand() festlege das er nur Zahlen aus einem bestimmten Wertebereich nimmt (zw. 2-11). Irgendwie klappt's noch nicht so recht und das Buch das ich habe verrät auch nicht allzuviel.

Vielen Dank wenn mir jemand helfen könnte.

Geschrieben

Wer nur nicht richtig schlau draus. die streiten sich ja mehr als das dabei was rauskommt. Mir ist halt immer noch nicht klar wie ich das intervall festlegen kann, das er nur Zahlen zwischen 2 und 11 nimmt. Also die 1 soll da nicht rein. Vielleicht komm ich ja noch drauf.

Geschrieben
Original geschrieben von chaertl

Wer nur nicht richtig schlau draus. die streiten sich ja mehr als das dabei was rauskommt.

Ja, der wichtige Inhalt geht tatsächlich ein wenig unter :D.

Mir ist halt immer noch nicht klar wie ich das intervall festlegen kann, das er nur Zahlen zwischen 2 und 11 nimmt. Also die 1 soll da nicht rein. Vielleicht komm ich ja noch drauf.
Du nimmst den Wert, den rand liefert, modulo 10 und addierst 2:

int zweibiself = rand() % 10 + 2;

Geschrieben

Vielen Dank für die Hilfe. kannst mir vielleicht nur noch das system dahinter etwas erläutern? Frage mich nämlich wie ich z.B. andere Intervalle setzten kann. das plus zwei ist wohl das erste intervall, aber mit der 10 hab ich so meine Probleme. die irritiert mich, denn ich weiß nicht wo da die elf steckt.

Geschrieben

Is ansich gar nicht schwer.

Wenn du eine beliebige ganze Zahl durch x teilst, in diesem Fall durch 10, dann bleibt als Rest immer eine Zahl von 0 bis x-1, das waeren in dem Fall dann 0 bis 9.

Somit hast du mit der 10 die Groesse des Intervalls festgelegt.

Das +2 dient dann noch dazu das Intervall zu verschieben.

Du willst kein 0 und 1, also verschiebst du um 2 und bekommst dann Zahlen von 0+2 bis 9+2, also 2 bis 11.

Goos

Geschrieben

Allgemein lautet die Formel so:

int zufallszahl = rand() % (max - min + 1) + min;

Im Klartext:

Von 2 bis 11 sind 10 mögliche Zahlen. Modulo 10 liefert 10 mögliche Ergebnisse, allerdings von 0 bis 9, also muss man noch zwei draufschlagen.

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