diff options
| author | Syndamia <kamen@syndamia.com> | 2024-01-05 08:21:16 +0200 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2024-01-05 08:21:16 +0200 |
| commit | dbdce2c71e8327d5cbfa3e87840866b504efec0f (patch) | |
| tree | 98730d6da3de1896f8dca5e4be5c611e13c06ba7 /week10/ex3.cpp | |
| parent | 5e2d33632ed1dfc689f14ebf1a782239411d8534 (diff) | |
| download | upp-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.cpp | 27 |
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); +} |
