最大値を計算する


サンプルプログラム 9 では、配列を入力して表示するだけでしたが、今度はその配列の中の最大値を求めてみましょう。サンプルプログラム 9 の行番号 60 以降の行を次のように書き換えてください。

サンプルプログラム10

プログラムの解説をします。

プログラムの解説を読んだだけでは、どうしてこれで最大値が求まるのか分かり難いかもしれません。実際にプログラムを実行してみましょう。サンプルプログラム 9 の時と同様に、データの数として n = 3 を、データとして 3, 5, -1 を入力してください。そうすると

となって最大値 5 が表示されたはずです。この時のプログラムの実行過程を表にしてみます。ただし、表の各列は次の物を意味しています。

参照番号 行番号 max d(i) i n
1 10 ? ?, ?, ? ? 3
2 20 ? ?, ?, ? ? 3
3 30 ? ?, ?, ? 1 3
4 40 ? 3, ?, ? 1 3
5 50 ? 3, ?, ? 1 3
6 30 ? 3, ?, ? 2 3
7 40 ? 3, 5, ? 2 3
8 50 ? 3, 5, ? 2 3
9 30 ? 3, 5, ? 3 3
10 40 ? 3, 5, -1 3 3
11 50 ? 3, 5, -1 3 3
12 60 3 3, 5, -1 3 3
13 70 3 3, 5, -1 2 3
14 80 5 3, 5, -1 2 3
15 90 5 3, 5, -1 2 3
16 70 5 3, 5, -1 3 3
17 80 5 3, 5, -1 3 3
18 90 5 3, 5, -1 3 3
19 100 5 3, 5, -1 3 3
20 110 5 3, 5, -1 3 3

表の見方はサンプルプログラム5とまったく同じです。プログラムの実行過程が良く分からない人は、上の表にしたがって、プログラムの実行過程を1つずつ順番に追ってみてください。行番号 80 の操作を i=2,3,...,n に対して行っているので、変数 max の値は配列 d の要素 d(1), d(2), ..., d(n) のうち、一番大きな要素となるのです。