int main() { Coin coin; const int TURNS = 20; cout << "The initial side is: " << coin.getSideUp() << endl; for (int i = 0; i < TURNS; i++) { coin.toss(); cout << "For turn #" << i + 1 << " the side is: " << coin.getSideUp() << endl; } return 0; }
int CoinFlip() { Coin coin; int numTosses; int expectedHeads; int expectedTails; int numSimulations = 100; int numHeads = 0; int numTails = 0; int count = 0; cout << "Enter the number of tosses for each simulation:" << endl; cin >> numTosses; cout << "Enter Expected Return of Heads. Number must be less than " << numTosses << endl; cin >> expectedHeads; expectedTails = numTosses - expectedHeads; cout << "Monte Carlo Simulation" << endl; cout << "----------------------" << endl; cout << "Number of coin tosses: " << numTosses << endl; cout << "Expected Number of Heads: " << expectedHeads << endl; cout << "Expected Number of Tails: " << expectedTails << endl; cout << "Number of simulations to be run: " << numSimulations << endl; cout << "Press any key to start runnig simulations:" << endl; system("pause"); for (int i = 0; i<numSimulations; i++) { numHeads = 0; numTails = 0; for (int j = 0; j<numTosses; j++) { if (coin.toss().compare("Heads")) numHeads++; else numTails++; } cout << "Heads: " << numHeads << " Tails: " << numTails << endl; if (numHeads>expectedHeads) count++; } cout << "-------------------" << endl; cout << "Simulation Complete" << endl; cout << "-------------------" << endl; cout << "Total number of simulations that resulted in Head values greater than the expected result of " << expectedHeads << " is " << count << endl; cout << "Now compare the simulated probability to the binomial distribution calculated probability" << endl; cout << "Simulated probability: " << ((double)count / numSimulations) << endl; system("pause"); return 0; }