C# :: Aufgabe #13 :: Lösung #12
14 Lösungen

#13
Lotto - Simulation - 6 aus 49
Anfänger - C#
von Gustl
- 25.11.2012 um 16:16 Uhr
Schreiben Sie ein Programm, welches 6 Zahlen zwischen 1 und 49 abfrägt. Danach soll das Programm solange 6 Zufallszahlen berechnen bis alle 6 eingegebenen Zahlen übereinstimmen. Natürlich darf eine Zahl nicht zweimal vorkommen.
Dann soll ausgegeben werden nach wie vielen "Spielen" ein 6er erzielt wurde und wie hoch die Chance auf einen 3er, einen 4er und einen 5er war.
Dann soll ausgegeben werden nach wie vielen "Spielen" ein 6er erzielt wurde und wie hoch die Chance auf einen 3er, einen 4er und einen 5er war.
#12

von stbehl (1640 Punkte)
- 02.02.2018 um 12:30 Uhr

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TrainYourProgrammer13 { class Program { static Random random = new Random(); static void Main(string[] args) { decimal zähler = 1; decimal spiel5 = 0; decimal spiel4 = 0; decimal spiel3 = 0; int[] eingabeZahlen = new int[6]; int[] zufallZahlen = new int[6]; zufallZahlen = NeueZahlen(); for (int i = 0; i <= 5; i++) { Console.WriteLine("Geben Sie die {0}. Zahl zwischen 1 und 49 ein: ", i + 1); int eingabe = Convert.ToInt16(Console.ReadLine()); if (Array.IndexOf(eingabeZahlen, eingabe) < 0 && Convert.ToInt32(eingabe) > 0 && Convert.ToInt32(eingabe) < 50) { eingabeZahlen[i] = eingabe; } else { Console.WriteLine("Ungültige Eingabe. Bitte wiederholen Sie Ihre Eingabe."); i--; } } for (int i = 0; i < eingabeZahlen.Length; i++) { if (Array.IndexOf(eingabeZahlen, zufallZahlen[i]) >= 0) { //i = 0; } else { switch (i) { case 5: spiel5++; break; case 4: spiel4++; break; case 3: spiel3++; break; default: break; } zufallZahlen = NeueZahlen(); zähler += 1; if (zähler % 1000000 == 0) { Console.WriteLine(zähler); } i = -1; } } spiel5 = spiel5 / zähler * 100; spiel4 = spiel4 / zähler * 100; spiel3 = spiel3 / zähler * 100; Console.WriteLine("Alle Zahlen Stimmen nach {0} Versuchen überein!", zähler); Console.WriteLine("Dabei lag die Chance auf einen 5er bei {0:F4}%.", spiel5); Console.WriteLine("Dabei lag die Chance auf einen 4er bei {0:F4}%.", spiel4); Console.WriteLine("Dabei lag die Chance auf einen 3er bei {0:F4}%.", spiel3); Console.ReadLine(); } private static int[] NeueZahlen() { int[] zufallZahlen = new int[6]; int zahl; for (int i = 0; i < zufallZahlen.Length; i++ ) { zahl = random.Next(1, 50); if (Array.IndexOf(zufallZahlen, zahl) < 0) { zufallZahlen[i] = zahl; } else { i--; } } return zufallZahlen; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1