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

9 Lösungen Lösungen öffentlich
#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:

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
vote_ok
von niknik (1230 Punkte) - 14.08.2015 um 10:41 Uhr
Quellcode ausblenden C#-Code
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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben