aboutsummaryrefslogtreecommitdiff
path: root/week10/ex3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'week10/ex3.cpp')
-rw-r--r--week10/ex3.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/week10/ex3.cpp b/week10/ex3.cpp
new file mode 100644
index 0000000..1edf55d
--- /dev/null
+++ b/week10/ex3.cpp
@@ -0,0 +1,27 @@
+#include <iostream>
+
+void printCharNTimes(int n, char c) {
+ for (int i = 0; i < n; i++) {
+ std::cout << c;
+ }
+}
+
+void hourglass(int lines, int whitespaces, int nonwhitespace) {
+ if (lines == 0) return;
+
+ printCharNTimes(whitespaces, ' ');
+ printCharNTimes(nonwhitespace, '+');
+ std::cout << std::endl;
+
+ hourglass(lines - 1, whitespaces + 1, nonwhitespace - 2);
+
+ printCharNTimes(whitespaces, ' ');
+ printCharNTimes(nonwhitespace, '#');
+ std::cout << std::endl;
+}
+
+int main() {
+ int N;
+ std::cin >> N;
+ hourglass(N, 0, 2*N - 1);
+}