On Wed, Apr 29, 2020 at 11:30 AM Roelof Wobben <r.wob...@home.nl> wrote:
> Am I right here or terrible wrong ? > If you are referring to calculating the size of the square, you are correct. > Roelof > > > > Op 28-4-2020 om 20:53 schreef Roelof Wobben: > > Thanks, > > And the 5 can also be calculated by 2 * (char - $a) + 1 > > Roelof > > > > Op 28-4-2020 om 18:31 schreef Richard Sargent: > > Formula? Well, it's pretty straight forward. > > Let's start with the size of the diamond (it field, actually). In the > example, there are two lines above and two lines below the "C" line. > C-A = 2. This number looks useful. > The dimension is 2+1+2 square. > > Yes. That is what I wrote. > > How many spaces before a letter? C-letter i.e. C-A = 2 C-B = 1 and C-C = 0 > The same number of spaces after the second/last occurrence of the letter > on the line. > The number of spaces between the letters on a line is the size minus the > number of spaces before and after plus the two copies of the current line's > letter. For the "B" line, there is one space before and after, 2x"B", > leaving 5 - 1 -1 - 2 = 1 space between. For the "A" line, the simple > arithmetic would give you -1, which also confirms that just one "A" is > appropriate with no space between first and last letter on the line. (For > "A", it is first and last, once only.) > > After that, you just need to iterate ($A to: $C), ($(C-1) to: $A by: -1) > and do the arithmetic. > > > On Tue, Apr 28, 2020 at 1:23 AM Roelof Wobben via Pharo-users < > pharo-users@lists.pharo.org> wrote: > >> Hello, >> >> I try now to solve this one : >> >> ntroduction >> >> The diamond kata takes as its input a letter, and outputs it in a diamond >> shape. Given a letter, it prints a diamond starting with 'A', with the >> supplied letter at the widest point. >> Requirements >> >> - The first row contains one 'A'. >> - The last row contains one 'A'. >> - All rows, except the first and last, have exactly two identical >> letters. >> - All rows have as many trailing spaces as leading spaces. (This >> might be 0). >> - The diamond is horizontally symmetric. >> - The diamond is vertically symmetric. >> - The diamond has a square shape (width equals height). >> - The letters form a diamond shape. >> - The top half has the letters in ascending order. >> - The bottom half has the letters in descending order. >> - The four corners (containing the spaces) are triangles. >> >> Examples >> >> In the following examples, spaces are indicated by · characters. >> >> Diamond for letter 'A': >> >> A >> >> Diamond for letter 'C': >> >> ··A·· >> ·B·B· >> C···C >> ·B·B· >> ··A·· >> >> >> I noticed that if you take a quarter of it. you see this pattern >> >> 001 >> 010 >> 100 >> >> where a 0 is a space and a 1 is the character. >> >> Is there a easy way to make some sort of formula so I can make a output of >> this ? >> >> >> Roelof >> >> >> > >