I'm assuming there are a lot of missing newlines in your sample output, and it should actually be a shape 3 5 5 array. Here's a solution which uses rank many times:
(3 5 5$0) ]"0"1 0"2 1 i.5 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 It's probably better practice to use negative rank, even though the numbers are harder to read: (3 5 5$0) ]"_1 _"_1"_1 _ i.5 This makes it clear that we are mapping over just the left argument, then over both arguments, then over just the left argument again. Marshall On Wed, Jun 08, 2016 at 09:22:43AM +0000, 'Bo Jacoby' via Programming wrote: > Dear J'ers. > Please tell me how to program the 3 5 5 array below. > I am experimenting rather than understanding. I expect the answer to be quite > elementary. > Thanks! Bo. > > 0 0 0 0 01 1 1 1 12 2 2 2 23 3 3 3 34 4 4 4 4 > 0 0 0 0 01 1 1 1 12 2 2 2 23 3 3 3 34 4 4 4 4 > 0 0 0 0 01 1 1 1 12 2 2 2 23 3 3 3 34 4 4 4 4 > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
