Website Summary Files Commits Branches @commit @diff @stats
path: root / Week02 / Exercise03 / intarray.cpp
diff options
context:
space:
mode:
1 files changed, 27 insertions, 0 deletions
-rw-r--r--Week02/Exercise03/intarray.cpp27
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();
+}