C# :: Aufgabe #84 :: Lösung #6
9 Lösungen

#84
Verteilung beim Würfeln mit zwei Würfeln
Anfänger - C#
von Alucard1766
- 11.02.2015 um 13:59 Uhr
Angenommen du wirfst sehr viel mal mit zwei Würfeln. Wie sieht die Verteilung der Summe der geworfenen Würfelzahlen aus?
Vorgaben:
Simuliere möglichst zufällig sehr viele Würfe mit zwei Standardwürfel(=1-6).
Mindestens 100'000 Würfe, je mehr desto besser. -> Performanter Code
Gib aus, wie die Verteilung der Summe der beiden Würfeln prozentual/im Verhältnis aussehen
Du musst in der Lösung auf dieser Seite eine gut sicht- und interpretierbare Darstellung der Verteilung haben, damit wir die Ergebnisse vergleichen können
Beispiel:
Vorgaben:
Simuliere möglichst zufällig sehr viele Würfe mit zwei Standardwürfel(=1-6).
Mindestens 100'000 Würfe, je mehr desto besser. -> Performanter Code
Gib aus, wie die Verteilung der Summe der beiden Würfeln prozentual/im Verhältnis aussehen
Du musst in der Lösung auf dieser Seite eine gut sicht- und interpretierbare Darstellung der Verteilung haben, damit wir die Ergebnisse vergleichen können
Beispiel:
Konsolenausgabe:
1. Wurf: 1 und 5 - Summe 6
2. Wurf: 4 und 2 - Summe 6
...
100000. Wurf: 3 und 1 - Summe 4
Ergebnis:
1 - 5%
2 - 7%
12 - 6%
#6

von niknik (1230 Punkte)
- 14.08.2015 um 10:41 Uhr

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Wuerfelwurf { class Program { static void Main(string[] args) { long number; do{ Console.WriteLine("Wie oft soll geworfen werden ?"); }while(!long.TryParse(Console.ReadLine(), out number)); Random seed = new Random(265); Random wuerfel1 = new Random(seed.Next()); Random wuerfel2 = new Random(seed.Next()); long[] verteilung = new long[11]; int zahl1, zahl2; for (long i = 0; i < number; i++) { zahl1 = wuerfel1.Next(1, 7); zahl2 = wuerfel2.Next(1, 7); for (int j = 0; j < 11; j++) { if ((zahl1 + zahl2) == (j + 2)) { verteilung[j]++; break; } } } Console.Clear(); // Verteilung ausgeben: for (int i = 0; i < 11; i++) { decimal prozente = ((decimal)verteilung[i] / (decimal)number) * (decimal)100; Console.WriteLine("Zahl: {0,2}, Verteilung: {1}%", i + 2, prozente); } Console.ReadLine(); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1