From 2d8b66aa122ad7c2c73a778160176e26a8de4ec0 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 5 Mar 2022 15:52:37 +0200 Subject: Added solutions from oop seminar 1 --- .../Solutions Sem. 01/exercise02.cpp | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Year 1/Object-oriented Programming/Solutions Sem. 01/exercise02.cpp (limited to 'Year 1/Object-oriented Programming/Solutions Sem. 01/exercise02.cpp') 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 + +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; +} -- cgit v1.3.1-23-gd82d