aboutsummaryrefslogtreecommitdiffstats
path: root/ee1301/wk3/lab3/RootBabylon2.cpp
diff options
context:
space:
mode:
authorRossTheRoss <msattr@gmail.com>2019-06-25 17:55:13 -0500
committerRossTheRoss <msattr@gmail.com>2019-06-25 17:55:13 -0500
commit6c83506cb44b1d20f66df404f0b6468b0e291b6b (patch)
tree8e0475edc2891741862bc9b63844600bdebe6936 /ee1301/wk3/lab3/RootBabylon2.cpp
parentM E A N I N G F U L C O M M E N T S (diff)
downloadhomework-6c83506cb44b1d20f66df404f0b6468b0e291b6b.tar
homework-6c83506cb44b1d20f66df404f0b6468b0e291b6b.tar.gz
homework-6c83506cb44b1d20f66df404f0b6468b0e291b6b.tar.bz2
homework-6c83506cb44b1d20f66df404f0b6468b0e291b6b.tar.lz
homework-6c83506cb44b1d20f66df404f0b6468b0e291b6b.tar.xz
homework-6c83506cb44b1d20f66df404f0b6468b0e291b6b.tar.zst
homework-6c83506cb44b1d20f66df404f0b6468b0e291b6b.zip
Do a thing:
Diffstat (limited to 'ee1301/wk3/lab3/RootBabylon2.cpp')
-rw-r--r--ee1301/wk3/lab3/RootBabylon2.cpp80
1 files changed, 40 insertions, 40 deletions
diff --git a/ee1301/wk3/lab3/RootBabylon2.cpp b/ee1301/wk3/lab3/RootBabylon2.cpp
index c6daa37..1053cab 100644
--- a/ee1301/wk3/lab3/RootBabylon2.cpp
+++ b/ee1301/wk3/lab3/RootBabylon2.cpp
@@ -1,40 +1,40 @@
-#include <iostream>
-#include <iomanip>
-#include <cmath>
-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;
-}
+#include <iostream>
+#include <iomanip>
+#include <cmath>
+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;
+}