From ffd992d5491ba3e13ee2f9e270febb2da1c10a02 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Mon, 23 Sep 2019 22:24:37 +0200 Subject: [PATCH] Diamond --- diamond/diamond.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 diamond/diamond.c diff --git a/diamond/diamond.c b/diamond/diamond.c new file mode 100644 index 0000000..a357b25 --- /dev/null +++ b/diamond/diamond.c @@ -0,0 +1,35 @@ +#include +#include + +void d_line(unsigned int i, unsigned int n) { + unsigned int j; + for (j = 0; j < n - i; j++) + putchar(' '); + for (j = 0; j < (2*i - 1); j++) + putchar('#'); + putchar('\n'); +} + +void diamond(int n) { + if (n <= 0) { + return; + } + + unsigned int i; + + for (i = 1; i <= n; i++) { + d_line(i, n); + } + for (i = n-1; i > 0; i--) { + d_line(i, n); + } +} + +int main(int argc, char** argv) { + if (argc != 2) { + fprintf(stderr, "Usage: %s [side]\n", argv[0]); + return 1; + } + diamond(atoi(argv[1])); +} +