On Friday, 21 March 2014 at 12:32:58 UTC, Sergei Nosov wrote:
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]);

write(" *"[abs(i-N/2) + abs(j-N/2) <= N/2]);

    writeln;
}

Reply via email to