From 175721a63b426355274fa9e8063f762020ab8362 Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Thu, 30 Jan 2020 16:55:04 -0600 Subject: R E A R R A N G E --- ee1301/wk6/hw6_directory/strap012_HW6A.cpp | 215 ----------------------------- ee1301/wk6/hw6_directory/strap012_HW6B.cpp | 35 ----- ee1301/wk6/lab5/Bug.cpp | 12 -- ee1301/wk6/lab5/Bug.hpp | 28 ---- ee1301/wk6/lab5/momentum.cpp | 28 ---- ee1301/wk6/lab5/strap012_lab5_w_1.cpp | 75 ---------- ee1301/wk6/lab5/vectorArray.cpp | 43 ------ ee1301/wk6/lab5/wUp.cpp | 27 ---- ee1301/wk6/lab5/warmup.txt | 15 -- 9 files changed, 478 deletions(-) delete mode 100644 ee1301/wk6/hw6_directory/strap012_HW6A.cpp delete mode 100644 ee1301/wk6/hw6_directory/strap012_HW6B.cpp delete mode 100644 ee1301/wk6/lab5/Bug.cpp delete mode 100644 ee1301/wk6/lab5/Bug.hpp delete mode 100644 ee1301/wk6/lab5/momentum.cpp delete mode 100644 ee1301/wk6/lab5/strap012_lab5_w_1.cpp delete mode 100644 ee1301/wk6/lab5/vectorArray.cpp delete mode 100644 ee1301/wk6/lab5/wUp.cpp delete mode 100644 ee1301/wk6/lab5/warmup.txt (limited to 'ee1301/wk6') diff --git a/ee1301/wk6/hw6_directory/strap012_HW6A.cpp b/ee1301/wk6/hw6_directory/strap012_HW6A.cpp deleted file mode 100644 index ac2b7d0..0000000 --- a/ee1301/wk6/hw6_directory/strap012_HW6A.cpp +++ /dev/null @@ -1,215 +0,0 @@ -//Matthew Strapp -//EE1301 -//17 April 2019 -//HW 6A: Dice Class -#include -#include -using namespace std; - -const int maxNumDie=50; - -int* userInputParser(string s); - -class Dice { -private: - int min; - int max; -public: - int roll() { - return rand() % (max-min+1) + min; - }; - Dice() { //Default constructor for debugging purposes - min=1; - max=1; - } - Dice(int gotMin, int gotMax){ - min = gotMin; - max = gotMax; - }; -}; - -int main() { - int rounds; - Dice die; - int roll[maxNumDie]; - int max=0, min=999999, sum=0, sample=0; - double avg; - srand(time(NULL)); // DO NOT WRITE THIS LINE AGAIN OR ANYWHERE ELSE - cout << "What do you want to roll? "; - string s; - getline(cin, s); - cout << "How many rounds do you want to roll? "; - cin >> rounds; - int* pairs = userInputParser(s); - - // This will display the array of die information retrieved from user. - // Replace the following code when you submit your solution. - - // pairs is an array with the following format: - // {num_dice, - // first_die_start, - // first_die_end, - // second_die_start, - // ... } - double numRolls=0; - for (int j=0; j max) { - max = curRoll; - } - if (curRoll < min) { - min = curRoll; - } - sum+=curRoll; - sample=curRoll; - } - avg = sum / numRolls; - cout << "Sample roll: " << sample << endl - << "Minimum roll: " << min << endl - << "Maximum roll: " << max << endl - << "Average roll: " << avg << endl; - -} - - -int* userInputParser(string s) { - static int dice[2*maxNumDie+1] = {0}; // array format: - // {num_dice, - // first_die_start, - // first_die_end, - // second_die_start, - // ... } - // max of maxNumDie dice supported - - string data[4*maxNumDie]; // Intermediate storage for parsing input string - - // count how many '+'s or 'd's the roll[i-1] = die[i-1].roll();re are... - int parts = 0; - for(unsigned int i=0; i < s.length(); i++) - { - if(s[i] == 'd' || s[i] == '+') - { - parts++; - } - } - // ... so we know the number of times to decode values - - int index=0; - unsigned d = s.find('d'); - unsigned p = s.find('+'); - while(d != static_cast(-1) || p != static_cast(-1)) - { - bool dFirst = d < p; - if(dFirst) - { - string before = s.substr(0,d); // part before the 'd' (should be just one number) - // figure out what number is after 'd' - int count = 0; - bool foundDigit=false; - for(int i=0; i< static_cast(s.length()-d-1); i++) - { - if(isdigit(s[count+d+1])) - { - foundDigit=true; - } - if(!isdigit(s[count+d+1]) && foundDigit) - { - break; - } - count++; - } - string after = s.substr(d+1,count); //should be just the number after 'd' - - // store these two parts - data[index] = before; - data[index+1] = after; - index+=2; - - - // remove this part from the string s - s = s.substr(d+count+1); // discard these two parts - } - else // same idea for the '+' - { - // figure out what number is after '+' - int count = 0; - bool foundDigit=false; - for(int i=0; i< static_cast(s.length()-p-1); i++) - { - if(isdigit(s[count+p+1])) - { - foundDigit=true; - } - if(!isdigit(s[count+p+1]) && foundDigit) - { - break; - } - count++; - } - string after = s.substr(p+1,count); //should be just the number after '+' - - // store this part - data[index] = "+"; - data[index+1] = after; - index+=2; - - - // remove this part from the string s - s = s.substr(p+count+1); // discard these two parts - } - - // update d and p for next loop interation - d = s.find('d'); - p = s.find('+'); - - } - - // now we need to figure out how many dice there are (as 2d4 is 2 dice) - // we will treat "+2" as a die that rolls [2,2] - int diceCount = 0; - for(int i=0; i < parts*2; i+=2) - { - if(data[i][0] == '+') - { - diceCount++; - } - else - { - diceCount+=atoi(data[i].c_str()); - } - } - - dice[0] = diceCount*2+1; // put size in first index - - int ind=1; // index for the "dice" array (as not same as data array) - for(int i=0; i < parts*2; i+=2) - { - // if we have a +, add a "Dice" that has a range of 0 - if(data[i][0] == '+') - { - dice[ind] = atoi(data[i+1].c_str()); - dice[ind+1] = atoi(data[i+1].c_str()); - - ind+=2; - } - else // otherwise add however many of the dice requested - { - for(int j=0; j < atoi(data[i].c_str()); j++) - { - dice[ind] = 1; - dice[ind+1] = atoi(data[i+1].c_str()); - - ind += 2; - } - } - } - - return dice; -} diff --git a/ee1301/wk6/hw6_directory/strap012_HW6B.cpp b/ee1301/wk6/hw6_directory/strap012_HW6B.cpp deleted file mode 100644 index 17a37fd..0000000 --- a/ee1301/wk6/hw6_directory/strap012_HW6B.cpp +++ /dev/null @@ -1,35 +0,0 @@ -//Matthew Strapp -//EE1301 -//17 April 2019 -//HW 6B: Recursion and ff(x) -#include - -int ff(int x); -int main() { - int x, y; - do { - std::cout << "Please enter a value of x: "; - std::cin >> x; - } while (x<0); - std::cout << "Beginning calculation of ff(x)...\n"; - y = ff(x); - std::cout << "Calcuation complete, ff(x) = " << y << std::endl; -} - -// This function either returns 1 when x is one of two recrusive conditions depending on if x is even or odd. -int ff(int x) { - if (x > 1) { - if (x%2 == 0) { - // x is even - std::cout << "Calling ff(" << x/2 << ")\n"; - return x*ff(x/2); - } else { - // x is odd but not 1 - std::cout << "Calling ff(" << x-2 << ")\n"; - return x*ff(x-2); - } - } else { - // x is 1 (or 0) - return 1; - } -} diff --git a/ee1301/wk6/lab5/Bug.cpp b/ee1301/wk6/lab5/Bug.cpp deleted file mode 100644 index b4ef154..0000000 --- a/ee1301/wk6/lab5/Bug.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "Bug.hpp" - -int main() { - Bug buggy(10); - buggy.display(); - buggy.move(); - buggy.display(); - buggy.turn(); - buggy.display(); - buggy.move(); - buggy.display(); -} diff --git a/ee1301/wk6/lab5/Bug.hpp b/ee1301/wk6/lab5/Bug.hpp deleted file mode 100644 index cc704ab..0000000 --- a/ee1301/wk6/lab5/Bug.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#include - -#ifndef BUG_H - -#define BUG_H -class Bug { -private: - int position, dir; -public: - Bug() { - position=0; - dir=1; - } - Bug(int pos) { - position=pos; - dir=1; - } - void move() { - position+=dir; - } - void turn() { - dir*=-1; - } - void display() { - std::cout << "position = " << position << ", direction = " << dir << std::endl; - } -}; -#endif diff --git a/ee1301/wk6/lab5/momentum.cpp b/ee1301/wk6/lab5/momentum.cpp deleted file mode 100644 index dfbaeee..0000000 --- a/ee1301/wk6/lab5/momentum.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include - -double momentum (double velocity, double mass); - -int main() { - double velocity[3]; - double mass; - std::cout << "Please enter velocity (x y z) [m/s]: "; - std::cin >> velocity[0] >> velocity[1] >> velocity [2]; - std::cout << "Please enter mass [kg]: "; - std::cin >> mass; - - double* vector; - vector = new double[3]; - std::cout << "Momentum: <"; - for (int i=0; i<=2; i++) { - vector[i]=momentum(velocity[i], mass); - std::cout << vector[i]; - if ((i<2)) - std::cout << ","; - } - delete[] vector; - std::cout << ">" << std::endl; -} - -double momentum(double velocity, double mass) { - return velocity * mass; -} \ No newline at end of file diff --git a/ee1301/wk6/lab5/strap012_lab5_w_1.cpp b/ee1301/wk6/lab5/strap012_lab5_w_1.cpp deleted file mode 100644 index 9f5e285..0000000 --- a/ee1301/wk6/lab5/strap012_lab5_w_1.cpp +++ /dev/null @@ -1,75 +0,0 @@ -#include -//#include //Needed if using MinGW - -class DeckOfCards { -private: - int index=0, deck[52]; -public: - DeckOfCards(); - void shuffle(); - int dealCard(); -}; - -void showHand(int hand[], const int size); -int main() { - srand(time(NULL)); - const int size=4; //Size can be changed for larger hands - DeckOfCards deck; - int hand[size]; - for (int i=0; i<13; i++) { - for (int j=0; j1; i--) { - j = rand() % 50 + 1; - if (j < i) { - temp=deck[i]; deck[i]=deck[j]; deck[j]=temp; - } - } -} - -//Function to deal the card when asked by grabbing from the deck and shuffling if such card does not exist. -//Returns the card drawn from the deck -int DeckOfCards::dealCard() { - index++; - if (index>=52) { - index=0; - shuffle(); - } - return deck[index]; -} \ No newline at end of file diff --git a/ee1301/wk6/lab5/vectorArray.cpp b/ee1301/wk6/lab5/vectorArray.cpp deleted file mode 100644 index 92d23bd..0000000 --- a/ee1301/wk6/lab5/vectorArray.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include - -double randVec(); -double momentum (double velocity); -int main() { - srand(time(NULL)); - double sum[3]={0,0,0}; - double* randVel; double* momArray; - randVel = new double[1000]; - momArray = new double[1000]; - for (int i=0; i<1000; i++) { - randVel[i]=randVec(); - momArray[i]=momentum(randVel[i]); - int j=i%3; - sum[j]+=momArray[i]; - } - std::cout << '<' << sum[0]/1000.0 << ',' << sum[1]/1000.0 << ',' << sum[2]/1000.0 << '>' << std::endl; - delete[] randVel; - delete[] momArray; -} - - -double randVec() { - double vector[3]; - for (int i=0; i<3; i++) { - if (rand()%2+1==1) { - vector[i]=rand()%100+1.0; - } else { - vector[i]=rand()%100*-1.0+1.0; - } - } - return *vector; -} - -double momentum(double velocity) { - double mass; - if (rand()%2+1==0) { - mass=rand()%10+1.0; - } else { - mass=rand()%10*-1.0+1.0; - } - return mass*velocity; -} \ No newline at end of file diff --git a/ee1301/wk6/lab5/wUp.cpp b/ee1301/wk6/lab5/wUp.cpp deleted file mode 100644 index 0cb3957..0000000 --- a/ee1301/wk6/lab5/wUp.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include -using namespace std; - -class Point -{ - public: -void showPoint( ); -Point( ); -Point(int newX, int newY) { - xlocation = newX; - ylocation = newY; -} -int xlocation; -int ylocation; -} ; - - -int main() { - int a(1); - int b(2); - int *p1; - p1 = &a; - Point *p2 = new Point(*p1, b); - *p1 = p2->ylocation; - p2->xlocation = 10; - cout << p2->xlocation << ' ' << *p1 << ' ' << b << ' ' << a << endl; -} \ No newline at end of file diff --git a/ee1301/wk6/lab5/warmup.txt b/ee1301/wk6/lab5/warmup.txt deleted file mode 100644 index e18288c..0000000 --- a/ee1301/wk6/lab5/warmup.txt +++ /dev/null @@ -1,15 +0,0 @@ -1) - a. Line 5 constructs the class with no values. - b. It'll work, but it might not work well. - c. No. - d. Point(int newX, int newY); -2) - a. This changes the value xlocation and ylocation in the Point class to 3 and 10 respectively. - This changes the default values. - b. The object p1 of the class Point is initialized with an xlocation of 3 and a ylocation of 6. - c. The declaration is incorrect. - d. Line 6 is a function of return type Point with no input. - e. Point p2; -3) - a. 10 2 2 2 - b. The array is not deleted (memory leak) -- cgit v1.2.3