My 2 cents:

   (>./-<./)+/\+/1 _1 *A
1

   (>./-<./)+/\+/1 _1 *B
2

So A qualifies, B does not.


R.E. Boss


> -----Oorspronkelijk bericht-----
> Van: [email protected] 
> [mailto:[email protected]] Namens Linda Alvord
> Verzonden: zaterdag 28 juli 2012 9:43
> Aan: [email protected]
> Onderwerp: Re: [Jprogramming] Determining an 'alternating' binary array
> 
> In this case the tacit version leads to a better explicit definition:
> 
> 
>    al=: 13 :'(-:((2 2$0 1 1 0)$~#))(|: y) -. 0 0'
>    al
> [: (-: ((2 2$0 1 1 0) $~ #)) 0 0 -.~ |:
> 
>    al2=: 13 :'(-:(2 2$0 1 1 0)$~#)0 0 -.~|:y'
>    al2
> [: (-: ((2 2$0 1 1 0) $~ #)) 0 0 -.~ |:
> 
> Linda
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Linda Alvord
> Sent: Saturday, July 28, 2012 3:14 AM
> To: [email protected]
> Subject: Re: [Jprogramming] Determining an 'alternating' binary array
> 
> This seems to work as well:
> 
>    (|:A)-: |: A/:A
> 1
>    al=: 13 :'(-:((2 2$0 1 1 0)$~#))(|: y) -. 0 0'
>    al
> [: (-: ((2 2$0 1 1 0) $~ #)) 0 0 -.~ |:
> 
>    al A
> 1
>    al B
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Linda Alvord
> Sent: Saturday, July 28, 2012 2:45 AM
> To: [email protected]
> Subject: Re: [Jprogramming] Determining an 'alternating' binary array
> 
> Here's an alternative to 'alternative'
> 
>     ]A=:2 8$  0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0
> 0 0 1 0 0 0 0 1
> 1 0 0 0 1 0 0 0
>    ]B=:2 5$1 0 0 0 1 0 1 1 0 0
> 1 0 0 0 1
> 0 1 1 0 0
>    alt=: 13 :'(-:((2 2$0 1 1 0)$~#))(|: y /:y) -. 0 0'
>    alt
> [: (-: ((2 2$0 1 1 0) $~ #)) 0 0 -.~ [: |: /:~
> 
>    alt A
> 1
>    alt B
> 0
> 
> Linda
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Marshall
> Lochbaum
> Sent: Friday, July 27, 2012 11:56 AM
> To: [email protected]
> Subject: Re: [Jprogramming] Determining an 'alternating' binary array
> 
> Here's another option: convert the two rows into one using base 2, discard
> the ones that are 0, and check if the remaining ones are 1 2 1...
> I borrowed the sort in Raul's solution so that they must be in that order,
> not 2 1 2... .
> 
> alternate =: (-: 1 2$~$)@:(0 -.~ #.@|:)@:/:~
> 
> Note that we don't have to convert to binary. In this case, we end up with
> 
> alternate =: (-: (0 1,:1 0)$~#)@:(0 0 -.~ |:)@:/:~
> 
> Marshall
> 
> On Fri, Jul 27, 2012 at 10:39 AM, Brian Schott
> <[email protected]>wrote:
> 
> > Another approach?
> >
> > alternates =: [: -. 1 e. [: +/ 0 1 |."0 1 ] #"_ 1~ +./ noAnds =:
> > *./@(-.@(*./)) check =: noAnds *. alternates
> >
> >
> >
> >
> > --
> > (B=)
> > ----------------------------------------------------------------------
> > 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
> 
> ----------------------------------------------------------------------
> 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

Reply via email to