Re: checking for a particular value in a matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg30954] Re: [mg30933] checking for a particular value in a matrix
- From: BobHanlon at aol.com
- Date: Fri, 28 Sep 2001 03:55:02 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 2001/9/27 2:32:57 AM, auhb3 at cz3.nus.edu.sg writes: >Hi, I am a programming newbie and I need advice on how to check that a >table or matrix , for all nonzero entries in a given row, has only one >entry of value 1. > > > >i have another query on why the code below does not work, when i call >convert{1,0,0,0} again, the results given are from an earlier question, >e.g. {1,1} is it initialised wrongly? > > >Clear[a,convert]; >convert[a___] = Sum[a[[i]]*2^(Length[a]-i),{i,1,Length[a]}] > onlyOneOne[a_?VectorQ] := Count[a,0]==(Length[a]-1) && Count[a,1]==1; onlyOneOne[{0,0,0,1}] True onlyOneOne /@ {{1,0,0,0}, {0,1,0,0}, {0,0,1,0}, {0,0,0,2}} {True, True, True, False} convert[a_]:=Sum[a[[i]]*2^(Length[a]-i),{i,1,Length[a]}]; a = Table[Random[Integer], {8}]; convert[a] == FromDigits[a, 2] True a = {a1,a2,a3,a4}; convert[a] == FromDigits[a, 2] // ExpandAll True Bob Hanlon Chantilly, VA USA