C :: Aufgabe #68 :: Lösung #2

2 Lösungen Lösungen öffentlich
#68

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%
#2
vote_ok
von kathleenw (3600 Punkte) - 03.07.2020 um 10:56 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int zufallszahl(int min, int max)
{
    int zahl;
    zahl= (rand()%((max+1)-min))+min;
    return zahl;
}

int main()
{
    int wuerfel1, wuerfel2, summe, i;
    long obere_grenze;
    int ergebnisse[13]= {0};
    const int min=1, max=6;
    
    srand(time(NULL));
    
    printf("Wie oft soll gewürfelt werden? ");
    scanf("%ld", &obere_grenze);
    fflush(stdin);
    
    for (i=1;i<=obere_grenze;i++) {
        wuerfel1 = zufallszahl(min, max);
        wuerfel2 = zufallszahl(min,max);
        summe = wuerfel1 + wuerfel2;
        ergebnisse[summe] = ergebnisse[summe] + 1;
    }
    
    printf("\nEs wurde %ld gewürfelt. \nDabei ergibt sich folgende Verteilung:\n\n", obere_grenze);
    
    for (i=2;i<=12;i++)
        printf("%2d \t %7d \t %6.2f \n", i, ergebnisse[i], ((float)ergebnisse[i]/obere_grenze)*100);
    
    printf("\n");
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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