C# :: Aufgabe #13 :: Lösung #15
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.
#15

von Chrille (100 Punkte)
- 24.10.2020 um 17:31 Uhr

static void Main(string[] args) { Random rnd = new Random(); int treffer = 0; int anzahlZiehungen = 0; List<double> Auswertung = new List<double>() { 0, 0, 0, 0, 0, 0, 0 }; List<int> meinTip = TipAbgeben(); //Ziehungen durchführen do { treffer = 0; anzahlZiehungen++; List<int> ziehung = SechsAusNeunundvierzig(rnd); foreach (int Zahl in meinTip) { if (ziehung.Contains(Zahl)) { treffer++; } } Auswertung[treffer]++; } while (treffer!=6 || anzahlZiehungen > int.MaxValue-1); //Auflistung der Werte Console.WriteLine("Nach {0:0,0} Ziehungen wurden 6 richtige getippt.", anzahlZiehungen); Console.WriteLine("Chancen auf: \n3 richtige: {0:0.0000}%\n4 richtige: {1:0.0000}%\n5 richtige: {2:0.0000}%", Auswertung[2] / (anzahlZiehungen*100), Auswertung[3] / (anzahlZiehungen*100), Auswertung[4] / (anzahlZiehungen*100)); Console.ReadKey(); } private static List<int> SechsAusNeunundvierzig(Random rnd) { List<int> sechsZufallsZahlen = new List<int>(); for (int i = 0; i < 6; i++) { int meineZahl; do { meineZahl = rnd.Next(1, 49); } while (sechsZufallsZahlen.Contains(meineZahl)); sechsZufallsZahlen.Add(meineZahl); } return sechsZufallsZahlen; } private static List<int> TipAbgeben() { List<int> tip = new List<int>(); int eingabe; Console.WriteLine("Werte zwischen 1 und 49 werden aktzeptiert"); do { Console.WriteLine("Bitte die {0}. Zahl eingaben", tip.Count+1); if (int.TryParse(Console.ReadLine(), out eingabe) && eingabe < 50 && eingabe >0 && !tip.Contains(eingabe)) { tip.Add(eingabe); } else { Console.WriteLine("Fehlerhafte Eingabe"); } } while (tip.Count!=6); Console.WriteLine("Tip wurde aktzeptiert. Bitte warten."); return tip; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1