2017-11-05 20 views
1

次のプログラムは、各入力を追跡し、カウンタを開始し、毎回最大入力を表示することになっています。最大値を配列に表示する方法

puts "Please enter an integer" 
count=1 
a = [] 
while count <= 10 
    puts "this is the count #{count}" 
    puts "this is the highest integer so far: #{a.max}" 
    count = count+1 
    input = gets.chomp 
    a << input 
end 
puts "this is the highest integer #{a.max}" "\n" 
puts a.max 

しかし、プログラムは最後に配列の中で最も高い入力を表示しません。私は整数10234567111300400に入ったとき、私はそれを繰り返します7、に着くまで、a.maxの値は、各入力のための入力にリセットします。

+0

ここで 'count'でやっていることの代わりに' 10.times do'を実行することができます:3行ではなく1行あなたがそれらを必要としない限り、変数はありません。 – tadman

答えて

1

maxを使用して、文字列の配列の中で最大の要素を取得しています。整数へと繰り返しの最後に、あなたがそれらの間の最大の要素を取得することができます導入値を変換してみてください。

puts 'Please enter an integer' 
count = 1 
a = [] 

while count <= 10 
    puts "this is the count #{count}" 
    puts "this is the highest integer so far: #{a.max}" 
    count += 1 
    input = gets.chomp.to_i 
    a << input 
end 

puts "this is the highest integer #{a.max}\n" 
puts a.max 

代わりにあなたは0の初期値を持つ配列を割り当てる範囲にわたりeach_with_objectを使用することができます

関連する問題