An update on my earlier result follows. Beware of
wrap.
(>(0 2{x) < tkey 1 {x) (;/@,.&>/(~.each i. each ]){.
tkey~ 0 2 {x)} $&a:([EMAIL PROTECTED] &>){. tkey~ 0 2 {x
+--+--+
|t0| |
|t1| |
|t2| |
+--+--+
| |t0|
| |t1|
| |t2|
+--+--+
|t0|t1|
|t2| |
+--+--+
|t1|t0|
|t2| |
+--+--+
(>(1 2{x) < tkey 0 {x) (;/@,.&>/(~.each i. each ]){.
tkey~ 1 2 {x)} $&a:([EMAIL PROTECTED] &>){. tkey~ 1 2 {x
+--+--+
|s0|s1|
|s2|s3|
+--+--+
|s0|s1|
|s3|s2|
+--+--+
|s0|s1|
|s2| |
|s3| |
+--+--+
(B=)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm