From 54997c885f0d8500ce0a15a18de911ad6ecad2ce Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Wed, 27 Feb 2019 10:18:27 -0600 Subject: Final fixes --- ee1301/wk3/hw3_directory/strap012_HW3A.cpp | 45 +++++++++++++++++------------- 1 file changed, 25 insertions(+), 20 deletions(-) (limited to 'ee1301/wk3/hw3_directory/strap012_HW3A.cpp') diff --git a/ee1301/wk3/hw3_directory/strap012_HW3A.cpp b/ee1301/wk3/hw3_directory/strap012_HW3A.cpp index 07dc6b5..38c2a2b 100644 --- a/ee1301/wk3/hw3_directory/strap012_HW3A.cpp +++ b/ee1301/wk3/hw3_directory/strap012_HW3A.cpp @@ -14,6 +14,30 @@ One-armed Bandit Simulator #include using namespace std; +int spin_the_wheels(int d, int w); + +int main () { + srand(time(NULL)); + int w, d, winCount, winTest; + for (w=3; w<=6; w++) { + winCount=0; + for (d=9; d<=27; d++) { + winCount=0; + for (long n=1000000; n>0; n--) { //The simulation is always done 1,000,000 times + int winTest = spin_the_wheels(d, w); + winCount+=winTest; + } + if (w==6) { + cout << scientific; + } + cout << "w=" << w << ", d=" << d + << ": Simulated probability = m/n = " << (winCount / 1000000.0) * 100.0 << "%. " + << "Theoretical probability = " << (d / (pow(d, w))) * 100 << "%." << endl; + d+=2; + } + } +} + // Function: spin_the_wheels // --------------------------- // Simulates the one-armed bandit from the previous HW @@ -24,7 +48,7 @@ using namespace std; int spin_the_wheels(int d, int w) { int spinOG=0, spinNew=0, win=0; spinOG = ( (rand() % d) + 1); //Original spin is always the same - w-=1; + w-=1; //The first wheel was spun as spinOG for (int i=0; i0; n--) { - int winTest = spin_the_wheels(d, w); - winCount+=winTest; - } - cout << "w=" << w << ", d=" << d - << ": Simulated probability = m/n = " << (winCount / 1000000.0) * 100.0 << "%. " - << "Theoretical probability = " << (d / (pow(d, w))) * 100 << "%." << endl; - d+=2; - } - } } \ No newline at end of file -- cgit v1.2.3