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/lab3/RootBabylon2.cpp | 40 +++++++++++++++ ee1301/wk3/lab3/RootBabylonOG.cpp | 34 +++++++++++++ ee1301/wk3/lab3/fib.cpp | 21 ++++++++ ee1301/wk3/lab3/gcd.cpp | 36 ++++++++++++++ ee1301/wk3/lab3/multTable.cpp | 18 +++++++ ee1301/wk3/lab3/mysteryBox.cpp | 12 +++++ ee1301/wk3/lab3/primeFactor.cpp | 26 ++++++++++ .../wk3/lab3/strap012_lab3_decimal_roman_conv.cpp | 58 ++++++++++++++++++++++ 8 files changed, 245 insertions(+) create mode 100644 ee1301/wk3/lab3/RootBabylon2.cpp create mode 100644 ee1301/wk3/lab3/RootBabylonOG.cpp create mode 100644 ee1301/wk3/lab3/fib.cpp create mode 100644 ee1301/wk3/lab3/gcd.cpp create mode 100644 ee1301/wk3/lab3/multTable.cpp create mode 100644 ee1301/wk3/lab3/mysteryBox.cpp create mode 100644 ee1301/wk3/lab3/primeFactor.cpp create mode 100644 ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp (limited to 'ee1301/wk3/lab3') diff --git a/ee1301/wk3/lab3/RootBabylon2.cpp b/ee1301/wk3/lab3/RootBabylon2.cpp new file mode 100644 index 0000000..1053cab --- /dev/null +++ b/ee1301/wk3/lab3/RootBabylon2.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +using namespace std; + +double gennewGuess(double n, double old_guess) { + double real, old; + real=sqrt(n); + double new_guess = ( old_guess + n / old_guess ) / 2; + old=new_guess; + if (((new_guess-real)/real)>0.01) { //This will be true if the difference between the real root and guess is more than 1%. + // cout << old << endl; + return gennewGuess(n, old); + } else { + // cout << old << endl; + return new_guess; + } +} +int main () { + double temp; + char cont; + do { + cout << "enter a value: "; + cin >> temp; + int n=temp; + if (temp<=0) { + cout << "Please enter a valid input(Positive Integer)." << endl; + return sqrt(-1); + } + //cout << "Guessing..." << endl; + temp = gennewGuess(temp, 1.0); + cout << fixed << setprecision(0) << "square root of " << n << " is " << temp << endl + << "continue? (y/n): "; + cin >> cont; + if (cont!='n'&&cont!='y') { + return -1; + } +} while (cont!='n'); + // << "Actual Value: " << real << endl; +} diff --git a/ee1301/wk3/lab3/RootBabylonOG.cpp b/ee1301/wk3/lab3/RootBabylonOG.cpp new file mode 100644 index 0000000..530a1bf --- /dev/null +++ b/ee1301/wk3/lab3/RootBabylonOG.cpp @@ -0,0 +1,34 @@ +#include +#include +using namespace std; + +double gennewGuess(double n, double old_guess) { + double new_guess = ( old_guess + ( n / old_guess ) ) / 2; + return new_guess; + } + +double BabylonRoot(double n) { + double real, guess=1; //Initial guess is set to 1 + real=sqrt(n); + do { + guess = gennewGuess(n,guess); + cout << guess << endl; + } while (abs(guess-real)/real>0.01); //Keep guessing unitl within 1% of the actual square root + return guess; +} + +int main () { + double n, guess; + cout << "Enter the Number to find square root: "; + cin >> n; + if (n<=0) { + cout << "Please enter a valid input(Positive Integer)." << endl; + return 2; + } + cout << "Guessing..." << endl; + double real=sqrt(n); + guess = BabylonRoot(n); + cout << "The Final Guess: " << guess << endl + << "Actual Value: " << real << endl; + return 0; +} \ No newline at end of file diff --git a/ee1301/wk3/lab3/fib.cpp b/ee1301/wk3/lab3/fib.cpp new file mode 100644 index 0000000..57be3a2 --- /dev/null +++ b/ee1301/wk3/lab3/fib.cpp @@ -0,0 +1,21 @@ +#include +using namespace std; +int main() +{ + unsigned long long fib1=0, fib2=1, count, fib3=1; + cout << "How many Fibonacci numbers should be computed? "; + cin >> count; + bool firstRun=true; + for (int i=1; i<(count+1); i++) { + if (!firstRun) { //The contents are run when i is not 1. + fib3=fib1+fib2; + fib1=fib2; + fib2=fib3; + } + firstRun=false; + cout << fib3 << " "; + if (i%10==0 && i!=0) + cout << endl; + } + cout << endl; +} diff --git a/ee1301/wk3/lab3/gcd.cpp b/ee1301/wk3/lab3/gcd.cpp new file mode 100644 index 0000000..4e127d9 --- /dev/null +++ b/ee1301/wk3/lab3/gcd.cpp @@ -0,0 +1,36 @@ +#include +#include +using namespace std; + +int GCD(int a, int b) { + int gcd=1; + a=abs(a); b=abs(b); + if (a>b) { + //do nothing + } else { + if (b>a) { + int foo=a; a=b; b=foo; + } else { + return -1; + } + } + gcd=(a%b); + while (gcd!=0) { + return GCD(b,gcd); + } + return b; + +} +int main () { + int a=0, b=0; + char cont; + do { + cout << "enter two integer values: "; + cin >> a >> b; + cout << "greatest common divisor is: " << GCD(a,b) << endl; + cout << "continue? (y/n): "; + cin >> cont; + cout << endl; + } while (cont!='n'); + +} diff --git a/ee1301/wk3/lab3/multTable.cpp b/ee1301/wk3/lab3/multTable.cpp new file mode 100644 index 0000000..4253980 --- /dev/null +++ b/ee1301/wk3/lab3/multTable.cpp @@ -0,0 +1,18 @@ +#include +using namespace std; +int main() { + int r=1, c=1; + for (r; r<=10; r++) { + for (c=10; c>0; c--) { + int ans = r*c; + if (ans!=100) { + cout << " "; + } + if (ans<10) { + cout << " "; + } + cout << ans; + } + cout << endl; + } +} diff --git a/ee1301/wk3/lab3/mysteryBox.cpp b/ee1301/wk3/lab3/mysteryBox.cpp new file mode 100644 index 0000000..c1aefee --- /dev/null +++ b/ee1301/wk3/lab3/mysteryBox.cpp @@ -0,0 +1,12 @@ +#include +using namespace std; + +int main () { + int sum = 0; + for(int i=0; i<=100; i++) + { + if(i % 7 == 0) + sum++; + } +cout << sum; +} diff --git a/ee1301/wk3/lab3/primeFactor.cpp b/ee1301/wk3/lab3/primeFactor.cpp new file mode 100644 index 0000000..093a0be --- /dev/null +++ b/ee1301/wk3/lab3/primeFactor.cpp @@ -0,0 +1,26 @@ +#include +#include +using namespace std; + +void factorFinder (unsigned long long n) { + unsigned long long i=2; + while (pow(i,2)<=n) { + if (n%i==0) { + cout << i << "*"; + n/=i; + } else { + i++; + } + } + if (n>1) { + cout << n << endl; + } +} + +int main () { + unsigned long long n; + cout << "Input a positive integer: "; + cin >> n; + cout << "Factors: "; + factorFinder(n); +} diff --git a/ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp b/ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp new file mode 100644 index 0000000..f6aa568 --- /dev/null +++ b/ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp @@ -0,0 +1,58 @@ +//Matthew Strapp +//5449340 +//20 February 2018 +//Lab 3 Workout + +#include +using namespace std; +int main () { + int decimal; + cout << "Enter an integer value from 1 to 999: "; + cin >> decimal; + if (decimal<1 || decimal>999) { + cout << " Invalid Input. Program terminated." << endl; + return 1453; + } else { + cout << "Roman numeral equivalent: "; + while (decimal!=0) { + if (decimal>900 && decimal<1000) { + cout << "CM"; decimal-=900; + } + if (decimal>=500 && decimal<900) { + cout << "D"; decimal-=500; + } + if (decimal>=400 && decimal<500) { + cout << "CD"; decimal-=400; + } + if (decimal>=100 && decimal<400) { + cout << "C"; decimal-=100; + } + if (decimal>=90 && decimal<100) { + cout << "XC"; decimal-=90; + } + if (decimal>=50 && decimal<90) { + cout << "L"; decimal-=50; + } + if (decimal>=40 && decimal<50) { + cout << "XL"; decimal-=40; + } + if (decimal>=10 && decimal<40) { + cout << "X"; decimal-=10; + } + if (decimal==9) { + cout << "IX"; decimal-=9; + } + if (decimal>=5 && decimal<9) { + cout << "V"; decimal-=5; + } + if (decimal==4) { + cout << "IV"; decimal-=4; + } + if (decimal>=1 && decimal<4) { + cout << "I"; decimal-= 1; + } + } + } + cout << endl; + return 0; +} -- cgit v1.2.3