Website Summary Files Commits Branches @commit @diff @stats
path: root / Week13 / Exercise23.cpp
diff options
context:
space:
mode:
1 files changed, 23 insertions, 0 deletions
-rw-r--r--Week13/Exercise23.cpp23
diff --git a/Week13/Exercise23.cpp b/Week13/Exercise23.cpp
new file mode 100644
index 0000000..c37d243
--- /dev/null
+++ b/Week13/Exercise23.cpp
@@ -0,0 +1,23 @@
+#include <iostream>
+
+int max(int maxval, const int* elems, unsigned size) {
+ if (size == 0)
+ return maxval;
+ else
+ return max(maxval > *elems ? maxval : *elems, elems + 1, size - 1);
+}
+
+int main() {
+ unsigned size;
+ std::cin >> size;
+
+ int* arr = new int[size];
+ for (unsigned i = 0; i < size; ++i)
+ std::cin >> arr[i];
+
+ std::cout << max(*arr, arr, size) << std::endl;
+
+ free(arr);
+
+ return 0;
+}