From 7a73162607544204032aa66cce755daf21edebda Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Tue, 24 May 2022 11:18:46 -0500 Subject: Graduate Signed-off-by: Matt Strapp --- ee1301/wk3/hw3_directory/strap012_HW3A.cpp | 62 ++++++++++++++++++++++++++++ ee1301/wk3/hw3_directory/strap012_HW3B.cpp | 65 ++++++++++++++++++++++++++++++ ee1301/wk3/hw3_directory/strap012_HW3C.cpp | 51 +++++++++++++++++++++++ 3 files changed, 178 insertions(+) create mode 100644 ee1301/wk3/hw3_directory/strap012_HW3A.cpp create mode 100644 ee1301/wk3/hw3_directory/strap012_HW3B.cpp create mode 100644 ee1301/wk3/hw3_directory/strap012_HW3C.cpp (limited to 'ee1301/wk3/hw3_directory') diff --git a/ee1301/wk3/hw3_directory/strap012_HW3A.cpp b/ee1301/wk3/hw3_directory/strap012_HW3A.cpp new file mode 100644 index 0000000..42aae10 --- /dev/null +++ b/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 +#include +#include +#include + +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 +#include +#include +#include + +int charTest (char character); + +int main () { +using namespace std; + int test; + char character; + bool isAlphaNumeric=true; + while (isAlphaNumeric) { + cout << "Enter a single digit or an alphabetic character: "; + cin >> character; + cout << "You entered " << character << ", "; + test = charTest(character); + if (test==0) { + isAlphaNumeric=false; + cout << "which is not a letter or a number."; + } + if (test==1) { + cout << "which is a number."; + } + if (test==2) { + cout << "which is a lower case letter."; + } + if (test==3) { + cout << "which is an upper case letter."; + } + 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 new file mode 100644 index 0000000..6886106 --- /dev/null +++ b/ee1301/wk3/hw3_directory/strap012_HW3C.cpp @@ -0,0 +1,51 @@ +/* +27 Feb 2019 +Matthew Strapp +5449340 +EE1301 +Spring 2019 +Homework 3C +Character Detection +*/ + +#include +#include +#include +#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; + cout << "You entered " << s; + if ( (s >= 'a' && s <= 'z') || (s >= 'A' && s <= 'Z') ) { + cout << ", I respond with "; + if (s >= 'A' && s <= 'Z') { + New = s + 32; //32 is the difference between capital and lowercase ASCII characters + } else { + New= s - 32; + } + cout << New; + } else { + cout << ", which is not a valid character."; + } + cout << endl; +} \ No newline at end of file -- cgit v1.2.3