diff options
Diffstat (limited to 'graphs/piscine/display_square')
| -rw-r--r-- | graphs/piscine/display_square/display_square.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/graphs/piscine/display_square/display_square.c b/graphs/piscine/display_square/display_square.c new file mode 100644 index 0000000..9e834d7 --- /dev/null +++ b/graphs/piscine/display_square/display_square.c @@ -0,0 +1,44 @@ +#include <stdio.h> + +void display_square(int width) +{ + if (width <= 0) + { + return; + } + + if (width % 2 == 0) + { + width++; + } + + if (width == 1) + { + putchar('*'); + putchar('\n'); + return; + } + + for (int i = 0; i < width; i++) + { + putchar('*'); + } + putchar('\n'); + + for (int i = 0; i < ((width - 3) / 2); i++) + { + putchar('*'); + for (int j = 0; j < width - 2; j++) + { + putchar(' '); + } + putchar('*'); + putchar('\n'); + } + + for (int i = 0; i < width; i++) + { + putchar('*'); + } + putchar('\n'); +} |
