C :: Aufgabe #68 :: Lösung #1
2 Lösungen
#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:
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%
#1
von DBqFetti (2480 Punkte)
- 12.02.2015 um 20:24 Uhr
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
void main(){
const int WUERFEGESAMT = 100000;
char wuerfel[WUERFEGESAMT][3];
time_t zeit;
time(&zeit);
srand((unsigned int)zeit);
printf("%i mal w%crfeln lassen!", WUERFEGESAMT, 129);
getch();
for(int i = 0; i < WUERFEGESAMT; i++){
wuerfel[i][0] = (rand() % 6) + 1;
wuerfel[i][1] = (rand() % 6) + 1;
wuerfel[i][2] = wuerfel[i][0] + wuerfel[i][1];
}
printf("\n\nW%crfeln abgeschlossen, Ausgabe?\n-%cberspringen mit Esc", 129, 154);
if(getch() != 27){
for(int i = 0; i < WUERFEGESAMT; i++){
printf("%6i. Wurf: %i und %i - Summe %2i\n", i+1, wuerfel[i][0], wuerfel[i][1], wuerfel[i][2]);
}
}
printf("\nDurchschnitt berechnen!");
getch();
int anteil[11];
for(int i = 0; i < 11; i++) anteil[i] = 0;
for(int i = 0; i < WUERFEGESAMT; i++){
anteil[wuerfel[i][2]-2]++;
}
for(int i = 0; i < 11; i++){
printf("\n%2i - %.1lf2%%", i + 2, (100 / (double)WUERFEGESAMT) * anteil[i]);
}
getch();
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
