On Thursday, 20 March 2014 at 21:25:03 UTC, Ali Çehreli wrote:
This is a somewhat common little exercise: Write a function that takes the size of a diamond and produces a diamond of that size.

When printed, here is the output for size 11:

     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *

What interesting, boring, efficient, slow, etc. ways are there?

Ali

Probably, the most boring way is

foreach(i; 0..N)
{
    foreach(j; 0..N)
write(" *"[i + j >= N/2 && i + j < 3*N/2 && i - j <= N/2 && j - i <= N/2]);
    writeln;
}

Reply via email to