aboutsummaryrefslogtreecommitdiffstats
path: root/OLD/ee1301/wk3/hw3_directory/strap012_HW3A.cpp
diff options
context:
space:
mode:
authorRossTheRoss <msattr@gmail.com>2020-02-09 08:46:52 -0600
committerRossTheRoss <msattr@gmail.com>2020-02-09 08:46:52 -0600
commitbd1d350c376b45e334697851e29b2f79fee0c956 (patch)
treeeb242032a64442caef7a35434400eb0818911e9a /OLD/ee1301/wk3/hw3_directory/strap012_HW3A.cpp
parentDo micro prelab (diff)
parentRename file (diff)
downloadhomework-bd1d350c376b45e334697851e29b2f79fee0c956.tar
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.gz
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.bz2
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.lz
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.xz
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.zst
homework-bd1d350c376b45e334697851e29b2f79fee0c956.zip
Merge branch 'master' of github.com:RosstheRoss/TestingFun
Diffstat (limited to 'OLD/ee1301/wk3/hw3_directory/strap012_HW3A.cpp')
-rw-r--r--OLD/ee1301/wk3/hw3_directory/strap012_HW3A.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/OLD/ee1301/wk3/hw3_directory/strap012_HW3A.cpp b/OLD/ee1301/wk3/hw3_directory/strap012_HW3A.cpp
new file mode 100644
index 0000000..42aae10
--- /dev/null
+++ b/OLD/ee1301/wk3/hw3_directory/strap012_HW3A.cpp
@@ -0,0 +1,62 @@
+/*
+27 Feb 2019
+Matthew Strapp
+5449340
+EE1301
+Spring 2019
+Homework 3A
+One-armed Bandit Simulator
+*/
+
+#include <iostream>
+#include <stdlib.h>
+#include <cmath>
+#include <iomanip>
+
+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
+ winTest = spin_the_wheels(d, w);
+ winCount+=winTest;
+ }
+ if (w==6) {
+ std::cout << std::scientific;
+ }
+ std::cout << "w=" << w << ", d=" << d
+ << ": Simulated probability = m/n = " << (winCount / 1000000.0) * 100.0 << "%. "
+ << "Theoretical probability = " << (d / (pow(d, w))) * 100 << "%." << std::endl;
+ d+=2;
+ }
+ }
+}
+
+// Function: spin_the_wheels
+// ---------------------------
+// Simulates the one-armed bandit from the previous HW
+// d: the number of options on the spinner
+// w: the number of spinners
+// returns: Either 1 for win or 0 for loss
+
+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; //The first wheel was spun as spinOG
+ for (int i=0; i<w; i++) {
+ spinNew = ( (rand() % d) + 1);
+ if (spinOG==spinNew) {
+ win++;
+ }
+ }
+ if (win==w) { //The only win condition is if every wheel matches
+ return 1;
+ } else {
+ return 0;
+ }
+} \ No newline at end of file