diff options
Added solutions from oop seminar 1
1 files changed, 36 insertions, 0 deletions
| -rw-r--r-- | Year 1/Object-oriented Programming/Solutions Sem. 01/exercise02.cpp | 36 |
diff --git a/Year 1/Object-oriented Programming/Solutions Sem. 01/exercise02.cpp b/Year 1/Object-oriented Programming/Solutions Sem. 01/exercise02.cpp new file mode 100644 index 0000000..78b7616 --- /dev/null +++ b/Year 1/Object-oriented Programming/Solutions Sem. 01/exercise02.cpp @@ -0,0 +1,36 @@ +#include <iostream> + +struct Rational { + int m; + int n; +}; + +Rational sum(Rational a, Rational b) { + int divisor = a.n * b.n; + return { a.m * divisor + b.m * divisor, divisor }; +} + +Rational sub(Rational a, Rational b) { + b.m *= -1; + return sum(a, b); +} + +Rational mult(Rational a, Rational b) { + return { a.m * b.m, a.n * b.n }; +} + +Rational div(Rational a, Rational b) { + int temp = b.m; + b.m = b.n; + b.n = temp; + + return mult(a, b); +} + +bool isValid(Rational a) { + return a.n != 0; +} + +bool isWholeNumber(Rational a) { + return a.n % a.m == 0; +} |
