From 93ff5f30e854390dc6bb790414e13986144514fa Mon Sep 17 00:00:00 2001 From: Matthew Strapp Date: Wed, 20 Feb 2019 16:00:41 -0600 Subject: Finish Lab 3 --- ee1301/wk3/lab3/RootBabylon2.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ee1301/wk3/lab3/RootBabylon2.cpp (limited to 'ee1301/wk3/lab3/RootBabylon2.cpp') diff --git a/ee1301/wk3/lab3/RootBabylon2.cpp b/ee1301/wk3/lab3/RootBabylon2.cpp new file mode 100644 index 0000000..c6daa37 --- /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; +} -- cgit v1.2.3