From: Chris Alfeld Date: 2006-03-28T09:43:30+09:00 Subject: Re: Would this be possible? There are a few problems. * Your input loop will never exit. On EOF STDIN.gets will return nil and then you call nil.to_f which is 0.0, which is a true value. * Your output needs new lines. Consider ---- input = [] while a = STDIN.gets input << a.to_f end average = input.inject(0) {|m,x| m = m+x} / input.size count = input.count {|x| x > average} print "Average = #{average}\n" print "Number of elements greater than Avg = #{count}\n" ---- On 3/27/06, Craig Schweitzer wrote: > Would this work to find the mean average and the number of elements > greater than the average? > > > > # Calculating Avg and # of elements greater than Avg. in Ruby > > sum = 0.0 > n = 0 > count = 0 > > while figure = STDIN.gets.to_f > sum += figure > n += 1 > end > > average = sum / n > puts "Average = #{average}" > > while figure = STDIN.gets.to_f > if figure > average > count +=1 > end > end > > puts "Number of elements greater than Avg = #{count}" > > -- > Posted via http://www.ruby-forum.com/. > >