データから最高値を選べるようにするには

データから最高値を選べるようにするためには、 計算機が 1 行ずつしかデータを読み込まないことから、 どのような方法がよいか、考えよう。1 行目を読んだら、 そのデータを仮の最高点とおく。次に 2 行目を読んだら、 そのデータと 1 行目のデータと比較し、高ければ最高点を置き換える。 この方法では行番号を覚えさせなければならない。 データを配列を使って管理することにする。max.rb

    :
sum = 0    # 和 sum の初期化

point = Array.new  # 得点をしまう配列
                  # point[n-1] には n 人目のデータが入る

while score = gets
     if /(\S+)\s+(\S+)\s+(\d+)/ =~ score
       point[n] = $3.to_i
#	 sum += $3.to_i
	 n += 1 
     end
end

# average = sum/n
# printf("今回の平均点は %3.1f でした。 \n", average)

max = point[0]  # 最高点をしまう配列
               # 1 行目を仮の最高点と定める

i = 0
while i < n
  if max < point[i]
    max = point[i]
  end
    i += 1
end

printf("最高点は %d 点でした\n",max)

最低点を調べる min.rb を作るにはどのように変更したらよいか。

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

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