Very original.  Admiration!

Needs a preliminary shuffle of the argument.  Otherwise, with argument 
'abcde' the first row always contains 'a', the second 'a' and 'b', the 
third 'a' and 'b' and 'c', and so on -- contrary to examples given in 
the original specification.

     tree@({~ ?&#~) 'abcde'
      d
     b d
    c b d
   a d b c
  c e d a b

Kip

On 2/27/2012 9:24 PM, Henry Rich wrote:
> @ has its uses.
>
>      tree =. (] ; ;/@,.)&' ' ;@({~ |.)"1>:@?~@>:@i.@#
>      tree 'abcde'
>       a
>      b a
>     b a c
>    b c a d
> d b a e c
>
> Henry Rich
>
> On 2/27/2012 9:31 PM, Kip Murray wrote:
>> Here is how I would now do it, borrowing sh and the idea of using |.
>> from you, Linda.
>>
>>        sh =: ] {~ # ? #
>>
>>        gwk =: ([: |. [: - [: i. #) |."0 1 [: ([ , ' ' , ])/"1 [: sh\ sh
>>
>>        gwk 'abcde'
>>         b
>>        d b
>>       e d b
>>      e a b d
>>     b e d c a
>>
>> Kip
>>
>> On 2/27/2012 4:35 AM, Linda Alvord wrote:
>>> Here is my latest version which has simple tacit definitions.  I was
>>> impressed with all the different strategies that were submitted and it
>>> should provide you with many options to consider and hopefully allow you to
>>> understand  J  better. I know I learned a lot and I still have many more
>>> versions to study.
>>>
>>>       f=: 13 :'((#y)?#y){y'
>>>       f
>>> ] {~ # ? #
>>>       f 'abcde'
>>> deacb
>>>
>>>       g=: 13 :'|. f \. f y'
>>>       g
>>> [: |. [: f\. f
>>>       g 'abcde'
>>> c
>>> ac
>>> dca
>>> eadc
>>> eacdb
>>>
>>>       h=: 13 :'|.,"2 |:'' '',:|:|. g y'
>>>       h
>>> [: |. [: ,"2 [: |: ' ' ,: [: |: [: |. g
>>>       h 'abcde'
>>>     a
>>>     e a
>>>     e a d
>>>     d b a e
>>>     a c e d b
>>>
>>>       gw=: 13 :'(,.(1+#y)+i.#y)|."1 h y'
>>>       gw
>>> ([: ,. (1 + #) + [: i. #) |."1 h
>>>       gw 'cherrytrees'
>>>               e
>>>              c e
>>>             c e r
>>>            e c h r
>>>           r y h c e
>>>          y h t r c e
>>>         r t r c e y h
>>>        y c r h t s e r
>>>       r h e y t r c e s
>>>      c r t e h s r r y e
>>>     t s e e y r r h e r c
>>>
>>> All the tacit expressions are quite simple looking. If I misses some of your
>>> good ideas please let me know.  Maybe I can get rid of some of the
>>> parentheses in the final verb. I anticipate having some questions about some
>>> of the strategies you've used when I look at them more carefully.
>>>
>>> Linda
>>>
>>>
>>> -----Original Message-----
>>> From: programming-boun...@jsoftware.com
>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
>>> Sent: Sunday, February 26, 2012 3:33 PM
>>> To: 'Programming forum'
>>> Subject: Re: [Jprogramming] Challenge 6 Many Many Cherry Trees
>>>
>>> I noticed that all the first group begin with  c  but I didn't notice that
>>> all the last group end with  d
>>>
>>> I don't often find my own problems.
>>>
>>> Linda
>>>
>>> -----Original Message-----
>>> From: programming-boun...@jsoftware.com
>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
>>> Sent: Sunday, February 26, 2012 6:10 AM
>>> To: 'Programming forum'
>>> Subject: Re: [Jprogramming] Challenge 6 Many Many Cherry Trees
>>>
>>> Here's more I don't understand.
>>>
>>>       p=: 13 :'((#y)?#y){y'
>>>       p\p 'abcde'
>>> e
>>> eb
>>> bea
>>> bdea
>>> baedc
>>>
>>> Why is this a domain error?
>>>
>>>       (((#y)?#y){y)\((#y)?#y){y=:'abcde'
>>> |domain error
>>> |       (((#y)?#y){y)\((#y)?#y){y=:'abcde'
>>>
>>>     Why is each row not scrambled in the first example but they are in the
>>> second?
>>>
>>>       ]\ 'cbaed'
>>> c
>>> cb
>>> cba
>>> cbae
>>> cbaed
>>>
>>>       ]\. 'cbaed'
>>> cbaed
>>> baed
>>> aed
>>> ed
>>> d
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: programming-boun...@jsoftware.com
>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Raul Miller
>>> Sent: Friday, February 24, 2012 11:57 AM
>>> To: Programming forum
>>> Subject: Re: [Jprogramming] Challenge 6 Many Many Cherry Trees
>>>
>>> On Fri, Feb 24, 2012 at 11:39 AM, Kip Murray<k...@math.uh.edu>    wrote:
>>>> Raul has explained "0 _ .  In effect I was re-inventing<\. (box suffix) .
>>>
>>> Or, more specifically:
>>>      ]\. 'cbaed'
>>>
>> ----------------------------------------------------------------------
>> 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