I’m trying to create a program that:
- asks the user to input a max. range (a)
- asks the user to input a max. number of iterations (b)
- N = 1 (N is number of iterations)
then
- for N < b generate a random number between 0 and a
- count number of occurrences of every number that was generated
and at the end
- puts number = number of occurrences of the number
(for every number)
I tried a lot of things but I really feel that I’m making it too complicated and obviously not working.
puts "range :"
$Sur = gets.to_f
$N = 1
$Iterations = 1
while ($N <= 50) do
def rand
num1 = 0
num2 = 0
num3 = 0
num4 = 0
num5 = 0
num6 = 0
num7 = 0
num8 = 0
num9 = 0
num10 = 0
r = [*0..$Sur].sample
if (r == 1)
num1 += 1
elsif (r == 2)
num2 += 1
elsif (r == 3)
num3 += 1
elsif (r == 4)
num4 += 1
elsif (r == 5)
num5 += 1
elsif (r == 6)
num6 += 1
elsif (r == 7)
num7 += 1
elsif (r == 8)
num8 += 1
elsif (r == 9)
num9 += 1
elsif (r == 10)
num10 += 1
end
occurence = array.[](num1, num2, num3, num4, num5, num6, num7, num8, num9, num10)
puts "#{occurrence}"
end
puts "r = #{rand}"+" i = #{$Iterations}"
puts "Nombre de fois 1=#{num1}"
puts "Nombre de fois 2=#{num2}"
puts "Nombre de fois 3=#{num3}"
puts "Nombre de fois 4=#{num4}"
puts "Nombre de fois 5=#{num5}"
puts "Nombre de fois 6=#{num6}"
puts "Nombre de fois 7=#{num7}"
puts "Nombre de fois 8=#{num8}"
puts "Nombre de fois 9=#{num9}"
puts "Nombre de fois 10=#{num10}"
$N += 1
$Iterations = $N-1
end
puts "_________________________________________________"
puts "Fin de l\'algorithme."
puts "\n"
puts "N est superieur au maximum que vous avez entrer"
puts "Nombre d\'iterations de N = #{$Iterations}"
puts "_________________________________________________"
1 Answer