Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: simple cipher

  • To: mathgroup at smc.vnet.net
  • Subject: [mg55391] Re: simple cipher
  • From: Bill Rowe <readnewsciv at earthlink.net>
  • Date: Mon, 21 Mar 2005 03:01:58 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

On 3/20/05 at 4:11 AM, chocolatez at gmail.com (zak) wrote:

>s1 = {1, 0, 1, 0, 0, 1, 0, 1}
>s2 = {L, r, o, w, e, v, y, e}

>s1 is a kind of a sieve i want to look through to s2, so i could
>pick every letter in s2 wich correspond to every digit=1 in s1 so i
>could obtain the word "love", this is like the trivial ciphers we
>know in our childhood, i have the following approach, i hope there
>is other versions.

>p = Flatten[Position[s1, 1]]
>out[]= {1, 3, 6, 8}

>str = ""; 
>Do[str = StringJoin[str, ToString[s2[[p[[i]]]]]], {i, 1,4}]
>str

>Out[]= Love

With version 5.1 this could be done as

str=StringJoin@@(ToString/@Pick[s2,s1,1])

And with earlier versions the Do loop can be eliminated with

str = StringJoin@@(ToString/@s2[[p]])
--
To reply via email subtract one hundred and four


  • Prev by Date: Re: Do loop is faulty
  • Next by Date: Re: simple cipher
  • Previous by thread: Re: simple cipher
  • Next by thread: Re: simple cipher