diff options
1 files changed, 27 insertions, 0 deletions
| -rw-r--r-- | Week02/Exercise03/intarray.cpp | 27 |
diff --git a/Week02/Exercise03/intarray.cpp b/Week02/Exercise03/intarray.cpp new file mode 100644 index 0000000..3d8853d --- /dev/null +++ b/Week02/Exercise03/intarray.cpp @@ -0,0 +1,27 @@ +#include "intarray.h" + +void IntArray::deleteSelf() { + delete[] elems; + + size = 0; + elems = nullptr; +} + +int IntArray::sum() { + int totalSum = 0; + for (unsigned i = 0; i < size; ++i) + totalSum += elems[i]; + return totalSum; +} + +IntArray newIntArray(unsigned size) { + IntArray ia; + ia.size = size; + ia.elems = new int[size]; + + return ia; +} + +void deleteIntArray(IntArray& arr) { + arr.deleteSelf(); +} |
