aboutsummaryrefslogtreecommitdiffstats
path: root/ee1301/wk3/lab3/gcd.cpp
diff options
context:
space:
mode:
authorRossTheRoss <msattr@gmail.com>2019-02-21 15:40:19 +0000
committerRossTheRoss <msattr@gmail.com>2019-02-21 15:40:19 +0000
commiteb51243ae25b327c99f9501badb7b33efc6b2486 (patch)
treeaf3850ecc824612a7ef0d29d44fffac863836fa0 /ee1301/wk3/lab3/gcd.cpp
parentSplit functions to do the same thing (diff)
downloadhomework-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.cpp25
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');
+
}