Jump to content

Best shuffle: Difference between revisions

m (→‎{{header|PL/I}}: fix language tags)
Line 1,262:
#define system'routines.
 
#symbol shuffle = &&(:aLiteral)
[
#var aLength := aLiteral Lengthlength.
#var aShuffled := stringControlliteralControl toArray:aLiteral.
 
control from:0 &till:aLength &do: &&:i
[
#var aChar := aLiteral@i.
(aChar == (aShuffled@i)) ?
[
control from:0 &till:aLength &do: &&:j
[
#var anAltChar := aShuffled@j.
Line 1,285:
].
 
^ Summing new:(String new) foreach:aShuffled Literalliteral.
].
 
#symbol scoreShuffle = &&(:anOriginal:aShuffled)
[
#var aScore := Integer new.
control from:0 &till:(anOriginal Lengthlength) &do: &&:i
[ (anOriginal @ i) == (aShuffled @ i) ? [ aScore += 1. ]. ].
^ aScore Numbernumber.
].
 
#symbol program =
[
control foreach:("abracadabra", "seesaw", "grrrrrr", "pop", "up", "a") &do: &&:aWord
[
#var aShuffled := shuffle:aWord.
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.