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 +++++++++++++++++------------- ee1301/wk3/hw3_directory/strap012_HW3B.cpp | 45 +++++++++++++++--------------- ee1301/wk3/hw3_directory/strap012_HW3C.cpp | 37 +++++++++++++----------- 3 files changed, 68 insertions(+), 59 deletions(-) (limited to 'ee1301/wk3/hw3_directory') 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 diff --git a/ee1301/wk3/hw3_directory/strap012_HW3B.cpp b/ee1301/wk3/hw3_directory/strap012_HW3B.cpp index 128f5fa..dac276d 100644 --- a/ee1301/wk3/hw3_directory/strap012_HW3B.cpp +++ b/ee1301/wk3/hw3_directory/strap012_HW3B.cpp @@ -14,28 +14,7 @@ Character Detection #include using namespace std; -// Function: charTest -// --------------------------- -// Tests to see what kind of character was inputted -// character: Self-explanatory -// returns: 1 if number, 2 if lower case, 3 if upper case, 0 if not any of the previous - -int charTest (char character) { - if (character >= '0' && character <= '9') - { - return 1; - } else { - if (character>='a' && character<='z') { - return 2; - } else { - if (character>= 'A' && character<='Z') { - return 3; - } else { - return 0; - } - } - } -} +int charTest (char character); int main () { int test; @@ -62,3 +41,25 @@ int main () { cout << endl; } } + +// Function: charTest +// --------------------------- +// Tests to see what kind of character was inputted +// input: character from prompt in main +// returns: 1 if number, 2 if lower case, 3 if upper case, 0 if not any of the previous + +int charTest (char character) { + if (character >= '0' && character <= '9') { + return 1; + } else { + if (character>='a' && character<='z') { + return 2; + } else { + if (character>= 'A' && character<='Z') { + return 3; + } else { + return 0; + } + } + } +} \ No newline at end of file diff --git a/ee1301/wk3/hw3_directory/strap012_HW3C.cpp b/ee1301/wk3/hw3_directory/strap012_HW3C.cpp index e3fe714..61af587 100644 --- a/ee1301/wk3/hw3_directory/strap012_HW3C.cpp +++ b/ee1301/wk3/hw3_directory/strap012_HW3C.cpp @@ -14,10 +14,25 @@ Character Detection #include using namespace std; +void swapCase(char s); + +int main() +{ + char character; + do { //This loops until '@' is entered + cout << "Please enter a character that is an ASCII letter in the range [A-Za-z]: "; + cin >> character; + if (character!='@') { + swapCase(character); + } + } while (character!='@'); +} + // Function: swapCase // --------------------------- // Swaps the case of a latin ASCII character and prints an error if not one // s: the character inputted +//Outputs: Nothing, the function just outputs the response void swapCase(char s) { char New; @@ -27,23 +42,11 @@ void swapCase(char s) { cout << ", I respond with " << New; } else { if (s >= 'A' && s <= 'Z') { - New = s + 32; - cout << ", I respond with " << New; + New = s + 32; + cout << ", I respond with " << New; } else { - cout << ", which is not a valid character"; + cout << ", which is not a valid character."; } } - cout << "." << endl; -} - -int main() -{ - char character; - do { //This loops until '@' is entered - cout << "Please enter a character that is an ASCII letter in the range [A-Za-z]: "; - cin >> character; - if (character!='@') { - swapCase(character); - } - } while (character!='@'); -} + cout << endl; +} \ No newline at end of file -- cgit v1.2.3