skanemupp
5/8/2008 8:05:00 PM
i have written a program that takes a sentence as input and outputs
the sentence with the words rearranged.
it is probably inefficient and can probably be done with less code.
it is also nondeterministic( while (inList(temp,scr)) could go on
for a long time if the user is unlucky) and im not sure how to get
around that or if it is even possible.
also, if there is 2 identical words in the sentence, lets say "the" is
in there twice, it will loop forever. i could do
..uniq in the beginning but lets say i want both "the" to be in there.
i have to write some if duplicate then ok up to nbrofduplicates. is
there an easy way to do this?
#scrambler
puts "Enter a sentence: "
sentence = gets
list = sentence.split()
scr = []
def inList(aword,alist)
inl=false
for i in (0..alist.length()-1)
if alist[i] == aword
inl=true
end
end
return inl
end
for x in (0..list.length()-1)
temp = list[rand(list.length())]
while (inList(temp,scr))
temp = list[rand(list.length())]
end
scr = scr + temp.split()
end
puts "Scrambled: "
puts scr