diff options
author | RossTheRoss <msattr@gmail.com> | 2019-02-21 15:40:19 +0000 |
---|---|---|
committer | RossTheRoss <msattr@gmail.com> | 2019-02-21 15:40:19 +0000 |
commit | eb51243ae25b327c99f9501badb7b33efc6b2486 (patch) | |
tree | af3850ecc824612a7ef0d29d44fffac863836fa0 /ee1301/wk3/lab3/gcd.cpp | |
parent | Split functions to do the same thing (diff) | |
download | homework-eb51243ae25b327c99f9501badb7b33efc6b2486.tar homework-eb51243ae25b327c99f9501badb7b33efc6b2486.tar.gz homework-eb51243ae25b327c99f9501badb7b33efc6b2486.tar.bz2 homework-eb51243ae25b327c99f9501badb7b33efc6b2486.tar.lz homework-eb51243ae25b327c99f9501badb7b33efc6b2486.tar.xz homework-eb51243ae25b327c99f9501badb7b33efc6b2486.tar.zst homework-eb51243ae25b327c99f9501badb7b33efc6b2486.zip |
Fix things
Diffstat (limited to '')
-rw-r--r-- | ee1301/wk3/lab3/gcd.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
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'); + } |