最高得点者の名前も表示するには

最高得点者名前を表示させるには、 同じ行に名前と得点が入っていることを利用する。すなわち、 名前の配列 name に最高得点を取ったラベルを入れると、名前が出ることを利用する。 max_name.rb

name = Array.new # 名前をしまう配列
     :
while score = gets
  if /(\S+)\s+(\S+)\s+(\d+)/ =~ score
    name[n] = $1
    point[n] = $3.to_i
      :   
end

max = point[0]  # 最高点をしまう配列
n_max = 0       # 最高点をしまってある行をしめすラベル

      :

while i < n
  if max < point[i] # i 番目の要素にある得点が最高点より高ければ
    max = point[i]  # i 番目を最高点とせよ
    n_max = i    # 最高点を取った i を覚えよ
      :
end

printf("最高点は %s さんの %d 点でした\n", name[n_max],max)

本日の講義目次 / 基礎プログラミング I / 2007 年度

Madoka Nishimura <madoka.koeki-u.ac.jp>