Linda, your work is very nicely laid out.  I bet you found my verb it as 
mysterious as I found your verb i, both using rank and empties to 
introduce spaces.  I learned (or at least saw) a lesson in the global 
view of your very clean i.  Nice work.  Kip

    i
[: |. [: ,"2 [: |: (i.0) ,:~ [: |. [: |: [: |. h


On 2/22/2012 2:17 AM, Linda Alvord wrote:
> Happy George Washington's Birthday, Kip! "Now is the time for .... " is a
> great touch.
>
>     f=: 13 :',\,(($y)?$y){y'
>     g=: 13 :'((>:i.$y)?>:i.$y){"1 f y'
>     h=: 13 :'(,.1+i.$y){."1 g y'
>     i=: 13 :'|.,"2|:(|.|:|. h y),: 2#$'' '''
>     gw=: 13 :'(,.-(1+#y)+i.#y)|."1 i y'
>     gw 'many'
>     y
>    n y
>   y n a
> n y m a
>     gw 'many'
>     m
>    y m
>   y n m
> n m a y
>     gw 'cherrytrees'
>            e
>           s e
>          s e e
>         e e s r
>        s e e e r
>       e r t e s e
>      t h s r e e e
>     h c t e e e r s
>    s e e h c e r r t
>   c t r e e h s r y e
> s c e r y h e t e r r
>     a=:gw '%%%####'
>     a,.a,.a,.a
>        #             #             #             #
>       # #           # #           # #           # #
>      # % #         # % #         # % #         # % #
>     % % # #       % % # #       % % # #       % % # #
>    % # # % #     % # # % #     % # # % #     % # # % #
>   % # # # % %   % # # # % %   % # # # % %   % # # # % %
> % # # % # # % % # # % # # % % # # % # # % % # # % # # %
>
>     f
> [: ,\ [: , ] {~ $ ? $
>     g
> (([:>: [: i. $) ? [:>: [: i. $) {"1 f
>     h
> ([: ,. 1 + [: i. $) {."1 g
>     i
> [: |. [: ,"2 [: |: (i.0) ,:~ [: |. [: |: [: |. h
>     gw
> ([: ,. [: - (1 + #) + [: i. #) |."1 i
>
> Linda
>
>
> -----Original Message-----
> From: programming-boun...@jsoftware.com
> [mailto:programming-boun...@jsoftware.com] On Behalf Of Kip Murray
> Sent: Wednesday, February 22, 2012 12:24 AM
> To: Programming forum
> Subject: Re: [Jprogramming] Challenge 6 Many Many Cherry Trees
>
>       NB. Linda's Challenge 6
>
>
>       oit rt 'abcdef'
>         f
>        a f
>       e a f
>      f a d e
>     f a e d c
>    f e a b d c
>
>       oit rt 1 2 3 4 5 6
>         6
>        1 6
>       1 4 6
>      1 2 4 6
>     4 1 6 2 3
>    6 5 4 2 3 1
>
>
>       NB. Details follow, restrictions noted at end
>
>
>       sh =: ?&#~ { ]  NB. shuffle
>
>       rt =: [: |. [: sh&>  i.@#<@}."0 _ [: sh<"_1  NB. right triangle
>
>       ]a =: 'abcdef'
>    abcdef
>
>       ]art =: rt a
>    +-+-+-+-+-+-+
>    |b| | | | | |
>    +-+-+-+-+-+-+
>    |c|b| | | | |
>    +-+-+-+-+-+-+
>    |c|b|a| | | |
>    +-+-+-+-+-+-+
>    |c|e|b|a| | |
>    +-+-+-+-+-+-+
>    |c|e|a|d|b| |
>    +-+-+-+-+-+-+
>    |f|c|a|b|d|e|
>    +-+-+-+-+-+-+
>
>       ]b =: 1 2 3 4 5 6
>    1 2 3 4 5 6
>
>       ]brt =: rt b
>    +-+-+-+-+-+-+
>    |5| | | | | |
>    +-+-+-+-+-+-+
>    |2|5| | | | |
>    +-+-+-+-+-+-+
>    |2|6|5| | | |
>    +-+-+-+-+-+-+
>    |6|4|2|5| | |
>    +-+-+-+-+-+-+
>    |4|5|1|2|6| |
>    +-+-+-+-+-+-+
>    |3|1|4|5|6|2|
>    +-+-+-+-+-+-+
>
>
>       ia =: ([ , a: , ])/  NB. insert a:
>
>       it =: 3 : 0 " 1  NB. isosceles triangle from right triangle
>       xx =. y i. a:
>       ((-xx-#y) # a:), ia xx {. y
>       )
>
>       it art
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | | | | |b| | | | | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | | | |c| |b| | | | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | | |c| |b| |a| | | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | |c| |e| |b| |a| | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | |c| |e| |a| |d| |b| |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    |f| |c| |a| |b| |d| |e|
>    +-+-+-+-+-+-+-+-+-+-+-+
>
>       it brt
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | | | | |5| | | | | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | | | |2| |5| | | | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | | |2| |6| |5| | | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | | |6| |4| |2| |5| | |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    | |4| |5| |1| |2| |6| |
>    +-+-+-+-+-+-+-+-+-+-+-+
>    |3| |1| |4| |5| |6| |2|
>    +-+-+-+-+-+-+-+-+-+-+-+
>
>
>       vertchars =: 25 124 { a.
>
>       oit =: 3 : 0
>
>       NB. produces open isosceles triangle from boxed right triangle y
>
>       rc =. 1:`{.@.(2=#) $ y   NB. row count
>
>       dhr =.<: {. $ ": 0 { y  NB. decrement height of row display
>
>       mhb =. (>: rc * dhr) $ 0 , (<: dhr) # 1 NB. mask for horz boundaries
>
>       NB. now remove horz then vert boundaries from display of (it y)
>
>       vertchars -."1~ mhb # ": it y
>       )
>
>       oit art
>         b
>        c b
>       c b a
>      c e b a
>     c e a d b
>    f c a b d e
>
>       oit brt
>         5
>        2 5
>       2 6 5
>      6 4 2 5
>     4 5 1 2 6
>    3 1 4 5 6 2
>
>       ]c =: 6 4 $ 'Now is  the timefor all '
>    Now
>    is
>    the
>    time
>    for
>    all
>
>       ]crt =: rt c
>    +----+----+----+----+----+----+
>    |Now |    |    |    |    |    |
>    +----+----+----+----+----+----+
>    |Now |for |    |    |    |    |
>    +----+----+----+----+----+----+
>    |is  |for |Now |    |    |    |
>    +----+----+----+----+----+----+
>    |the |Now |is  |for |    |    |
>    +----+----+----+----+----+----+
>    |is  |Now |for |all |the |    |
>    +----+----+----+----+----+----+
>    |all |time|the |Now |for |is  |
>    +----+----+----+----+----+----+
>
>       oit crt
>                        Now
>                    Now     for
>                is      for     Now
>            the     Now     is      for
>        is      Now     for     all     the
>    all     time    the     Now     for     is
>
>       ]d =: 3 2 4 $ 'Now is  the timefor all '
>    Now
>    is
>
>    the
>    time
>
>    for
>    all
>
>       ]drt =: rt d
>    +----+----+----+
>    |the |    |    |
>    |time|    |    |
>    +----+----+----+
>    |Now |the |    |
>    |is  |time|    |
>    +----+----+----+
>    |the |for |Now |
>    |time|all |is  |
>    +----+----+----+
>
>       oit drt
>            the
>            time
>        Now     the
>        is      time
>    the     for     Now
>    time    all     is
>
>
>    NB. For verb oit to work, arguments to verb rt need to be open and
>    NB. free of vertchars.  I leave it as an exercise to remove these
>    NB. requirements!
>
>
>    Kip Murray
>
> On 2/14/2012 3:54 AM, Linda Alvord wrote:
>> Challenge 6 Many Many Cherry Trees   PLEASE DO NOT RESPOND UNTIL 2/22/2012
>> 12 am EST
>>
>>
>>
>>
>>
>> If necessary, ask questions, but try not to give away your strategy for
>> solving the challenge.
>>
>>
>>
>> Design a function with no restrictions on style or specific functions.
>>
>> It should produce a triangle similar to the ones shown below. Each row is
> a
>> successive scramble of the character string above it with one added
> symbol.
>> The  final line is a scramble of the entire list.
>>
>>
>>
>>     gw 'many'
>>
>>      a
>>     a n
>>    a y n
>>   a m y n
>>
>>
>>
>>     gw 'many'
>>
>>      m
>>     y m
>>    y a m
>>   n a m y
>>
>>
>>
>>    gw 'cherrytrees'
>>
>>             s
>>            r s
>>           h s r
>>          h r s y
>>         y s r e h
>>        e h r s r y
>>       y r e s h e r
>>      s e r r e y e h
>>     e s t e r e y h r
>>    r e r s t r y e e h
>>   e r c r h y r e t s e
>>
>>      a=:gw '%%%####'
>>
>>      a,.a,.a,.a
>>
>>         %             %             %             %
>>        % #           % #           % #           % #
>>       % # %         % # %         % # %         % # %
>>      % # # %       % # # %       % # # %       % # # %
>>     # % # % #     # % # % #     # % # % #     # % # % #
>>    # % # % % #   # % # % % #   # % # % % #   # % # % % #
>>   # % # # # % % # % # # # % % # % # # # % % # % # # # % %
>>
>>
>>
>> Linda
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to