Another way, not better:

   (~.@{. ]`[`(a: #~ >:@{:@[)} </./) DATA

Henry Rich

On 1/10/2012 11:30 AM, Devon McCormick wrote:
> Beginner questions are welcomed.  Here's one way to include empty boxes for
> keys without any values:
>
>     ] DATA=: 0 0 1 1 1 1 2 2 2 2 2 4 4 4 5 5,: 5 0 7 8 9 2 2 5 5 5 3 8 0 0 5
> 6
> 0 0 1 1 1 1 2 2 2 2 2 4 4 4 5 5
> 5 0 7 8 9 2 2 5 5 5 3 8 0 0 5 6
>     ~.0{DATA        NB. Existing keys
> 0 1 2 4 5
>     ]AllKeys=. i.7  NB. Assume these are all possible keys
> 0 1 2 3 4 5 6
>   NB. Extra ....... keys, dummy  ....... values corresponding to extras,
>     }.&.>  (AllKeys,0{DATA)<  /. AllKeys,1{DATA
> +---+-------+---------++-----+---++
> |5 0|7 8 9 2|2 5 5 5 3||8 0 0|5 6||
> +---+-------+---------++-----+---++
>   NB. " }.&.>  " drops dummies from result.
>
> On Tue, Jan 10, 2012 at 9:40 AM, Ben Gorte - LR<b.g.h.go...@tudelft.nl>wrote:
>
>> Dear Forum,
>>
>> Perhaps it is a beginners question, but somehow I cannot come up with a
>> decent answer.
>>
>> I have a matrix like of position-value pairs like:
>>
>> 0 0 1 1 1 1 2 2 2 2 2 4 4 4 5 5
>> 5 0 7 8 9 2 2 5 5 5 3 8 0 0 5 6
>>
>> (it could also be transposed), and I would like to have a list of boxes:
>>
>> +---+-------+---------++-----+---+
>> |5 0|7 8 9 2|2 5 5 5 3||8 0 0|5 6|
>> +---+-------+---------++-----+---+
>>
>> So the values are placed in boxes according to the positions.
>>
>> My matrix above is sorted (from left to right), but probably this is not
>> essential for most solutions. Furthermore, the order of the elements within
>> the boxes of the result is not important for the remainder of my algorithm.
>>
>> I have a solution that loops through the matrix from left to right, but it
>> is way too slow (and it does not look like J). Isn't there a better way?
>>
>> Thanks,
>> Ben
>>
>>
>> ----------------------------------------------------------------------
>> 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