ハッシュの値の合計・平均・最大値を求める
営業担当者の名前がキーで売上(整数)が値になったハッシュ(sales)を使って、全員の売上合計と平均、さらに売上が最大の担当者の名前を表示するプログラムです。
sum.rb
sales = {itou: 100,satou: 200,katou: 300,takahashi: 40}
sum = 0
sales.each { |k,v| sum += v }
avg = sum / sales.length
puts "Sum: #{sum}"
puts "Avg: #{avg}"
max_k = "",max_v = 0
sales.each do |k,v|
if v >= max_v then
max_v = v
max_k = k
end
end
puts "Max: #{max_k}"
以下は実行例です。salesの内容を変更しても正しい算定結果が得られる事を確認してみて下さい。
$ ruby sum.rb
Sum: 640
Avg: 160
Max: katou
今回のプログラムでは一位が二人以上いる場合、つまり最大値が複数存在するケースを想定できていません。これに対応する場合、どうしたらよいか検討してみて下さい。
参考URL
4月10日(晴れ)
二種の神器

今日は朝6時にシステムのエラーを通知するメールが届いたお陰で、少し早めに起床。しかし気分は爽快。昨日、念入りに(自分で)マッサージしたのが功を奏したのか、足の筋肉痛もかなり和らいでいます。今日は午後か .. [全文]
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について