aboutsummaryrefslogtreecommitdiff
path: root/week10/ex3.cpp
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2024-01-05 08:21:16 +0200
committerSyndamia <kamen@syndamia.com>2024-01-05 08:21:16 +0200
commitdbdce2c71e8327d5cbfa3e87840866b504efec0f (patch)
tree98730d6da3de1896f8dca5e4be5c611e13c06ba7 /week10/ex3.cpp
parent5e2d33632ed1dfc689f14ebf1a782239411d8534 (diff)
downloadupp-2023-solutions-dbdce2c71e8327d5cbfa3e87840866b504efec0f.tar
upp-2023-solutions-dbdce2c71e8327d5cbfa3e87840866b504efec0f.tar.gz
upp-2023-solutions-dbdce2c71e8327d5cbfa3e87840866b504efec0f.zip
[w10] Added solutions
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);
+}