From eb51243ae25b327c99f9501badb7b33efc6b2486 Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Thu, 21 Feb 2019 15:40:19 +0000 Subject: Fix things --- ee1301/wk3/lab3/gcd.cpp | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'ee1301/wk3/lab3/gcd.cpp') diff --git a/ee1301/wk3/lab3/gcd.cpp b/ee1301/wk3/lab3/gcd.cpp index 435fd07..e9c1801 100644 --- a/ee1301/wk3/lab3/gcd.cpp +++ b/ee1301/wk3/lab3/gcd.cpp @@ -3,7 +3,7 @@ using namespace std; int GCD(int a, int b) { - int gcd=0; + int gcd=1; a=abs(a); b=abs(b); if (a>b) { //do nothing @@ -11,15 +11,26 @@ int GCD(int a, int b) { if (b>a) { int foo=a; a=b; b=foo; } else { - return 1; + return -1; } } - gcd=(a/b)+(a%b); - return gcd; + gcd=(a%b); + while (gcd!=0) { + return GCD(b,gcd); + } + return b; + } int main () { int a=0, b=0; - cout << "Enter two integers: "; - cin >> a, b; - cout << GCD(a,b) << endl; + 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'); + } -- cgit v1.2.3