a couple of tacit versions of this (+/\ - [: >./\ -. * +/\) 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 1
(+/\ ([ - [: >./\ -.@:] * [) ]) 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 1 ----- Original Message ----- From: Roger Hui <[email protected]> To: Programming forum <[email protected]> Cc: Sent: Wednesday, October 22, 2014 1:25 PM Subject: Re: [Jprogramming] count of consecutive 1s x 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 1 s->./\(-.x)*s=.+/\x 0 1 2 3 0 1 2 3 0 1 2 0 0 1 0 0 0 0 1 2 On Wed, Oct 22, 2014 at 10:21 AM, Roger Hui <[email protected]> wrote: > You can probably do better than the following, but it'd be useful as a > result checker: > > ] x=: 0<20 ?@$ 3 > 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 1 > }. ; +/\&.> <;.1 ] 0,x > 0 1 2 3 0 1 2 3 0 1 2 0 0 1 0 0 0 0 1 2 > > > > > On Wed, Oct 22, 2014 at 10:10 AM, Joe Bogner <[email protected]> wrote: > >> This is probably easy but I can't figure it out. How can I count the >> number >> of consecutive 1s? >> >> Another way to think about it is a running sum that resets upon hitting a >> zero >> >> input=:1 0 1 1 1 1 0 1 >> >> expected=: 1 0 1 2 3 4 0 1 >> ---------------------------------------------------------------------- >> 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
