最低運賃のプランを出すには、運賃の列を比較して、表示すればよい。 データが 1 行に詰められているので、最低運賃の列を縦にしまい、 その要素番号を記録して他のデータを表示することにする。 まずは最低運賃だけを表示させよう。ary_lowest.rb
#!/usr/koeki/bin/ruby
price = Array.new # 運賃価格をしまう配列
n = 0
# データをしまう部分
print("東京から酒田へ行く方法を探します:\n")
while train_data = gets
if /(\S+)\s+(\S+)\s+(\S+)\s+(\d+)/ =~ train_data
price[n] = $4.to_i
n += 1
end
end
### 低い運賃プランを選択する部分
low = price[0] # とりあえずの最低運賃
nlow = 0 # 最低運賃を持つ要素番号
i = 0 # 最低運賃を調べる要素番号
while i < price.length-1
if price[i] < low
low = price[i]
nlow = i
end
i += 1
end
printf("最も運賃が低いプランです\n")
printf("\t 運賃は %d 円です\n",price[nlow])
nlow と配列を使って、同じデータ行にあるデータを表示させよう。 完成はこちら。