Skyraz00
Grünschnabel
Hi,
ich hab ein Programm geschrieben dass das Würfelspiel Craps simuliert, jetzt will ich die Gewinnchance und die durchschnittliche länge eines Craps Spiels (anzahl der Würfe) berechnen. Jetzt bekomme ich aus meiner Gewinnchance Rechnung kein logisches ergebnis heraus und für das andere fehlt mir noch der Ansatz könnte mir da jemand helfen?
ich hab ein Programm geschrieben dass das Würfelspiel Craps simuliert, jetzt will ich die Gewinnchance und die durchschnittliche länge eines Craps Spiels (anzahl der Würfe) berechnen. Jetzt bekomme ich aus meiner Gewinnchance Rechnung kein logisches ergebnis heraus und für das andere fehlt mir noch der Ansatz könnte mir da jemand helfen?
C++:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
int wuerfel1, wuerfel2, sum, summe = 0;
int gewonnen[50] = { 0 };
int verloren[50] = { 0 };
int summe1 = 0;
int summe2 = 0;
int durchschnitt;
int zug, x = 1000000, wuerfe = 0; // Array
float wahr;
while (wuerfe < x)
{
wuerfel1 = rand() % 6 + 1;
wuerfel2 = rand() % 6 + 1;
sum = wuerfel1 + wuerfel2;
zug = 1;
if (sum == 7 || sum == 11)
{
gewonnen[zug]++;
}
else if (sum == 2 || sum == 3 || sum == 12)
{
verloren[zug]++;
}
else
{
zug = 2;
do
{
wuerfel1 = rand() % 6 + 1;
wuerfel2 = rand() % 6 + 1;
summe = wuerfel1 + wuerfel2;
if (summe == 7)
{
verloren[zug]++;
}
else if (summe == sum)
{
gewonnen[zug]++;
}
zug++;
} while (summe != sum && summe != 7);
}
wuerfe++;
}
printf(" Wurf | Gewonnen | Verloren | Gewinnchance\n");
for (zug = 1; zug <= 50; zug++)
{
if (gewonnen[zug] >= 1 || verloren[zug] >= 1)
{
wahr = gewonnen[zug] + verloren[zug];
wahr = (gewonnen[zug] / wahr) * 100;
printf("%6d | %8d | %8d | %3.2f %%\n", zug, gewonnen[zug], verloren[zug], wahr);
}
}
// Durchschnittsberechnung
float wuerfe3 = 0;
for (int i = 0; i < 50; i++)
{
wuerfe3 += (1 + i) * (gewonnen[i] + verloren[i]);
}
wuerfe3 = wuerfe3 / 1000000;
printf("\n\nDer durchschnitt betreagt: %i\n\n", wuerfe3);