How about this...

   takecut=: 0&~:@[ #inv (+/\@[ e.~ >:@i.@#@]) <;.2 ]

   3 2 2 takecut i.7
+-----+---+---+
|0 1 2|3 4|5 6|
+-----+---+---+
   2 4 1 takecut i.7
+---+-------+-+
|0 1|2 3 4 5|6|
+---+-------+-+
  3 0 2 2 takecut i.7
+-----++---+---+
|0 1 2||3 4|5 6|
+-----++---+---+
  0 0 4 3 0 takecut i.7
+++-------+-----++
|||0 1 2 3|4 5 6||
+++-------+-----++

On Tue, Sep 18, 2012 at 3:14 PM, June Kim (김창준) <junea...@gmail.com> wrote:
> Hi
>
>    takecut=:13 : '((}:0,+/\x)e.~i.#y) <;.1 y'
>    3 2 2 takecut i.7
> +-----+---+---+
> |0 1 2|3 4|5 6|
> +-----+---+---+
>    2 4 1 takecut i.7
> +---+-------+-+
> |0 1|2 3 4 5|6|
> +---+-------+-+
>
> It's not so difficult. However, generalizing takecut into allowing 0 as an
> item in x seems complicated. That is,
>
>    3 0 2 2 takecut i.7
> +-----++---+---+
> |0 1 2||3 4|5 6|
> +-----++---+---+
>    0 0 4 3 0 takecut i.7
> +++-------+-----++
> |||0 1 2 3|4 5 6||
> +++-------+-----++
>
> Any ideas for simple solutions?
> ----------------------------------------------------------------------
> 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