<最大値や最小値の求め方>
数値データの処理を行う際、しばしば最大値や最小値を求めることが必要になるケースに出くわします。数値の総和を求めるのと同様に、もっとも基本的なアルゴリズムの一つです。
ループを回してすべての数値を比較していくわけですが、例えば最大値を求めるのであれば、「それぞれの値がその時点までの最大値より大きければ、その値を新しい最大値とする」という処理を繰り返せばよいことになります。
#include
<stdio.h>
#define
DATA_SIZE 10
int
main(void) {
int
i, max;
int
data[DATA_SIZE]={3, 5, 0, 7, 6, 5, 8, 1, 2, 9};
max
= 0; /*
最大値格納用の変数maxを0で初期化 */
for
(i = 0; i < DATA_SIZE; i++) {
if
(data[i] > max) { /* 配列要素の値がmaxより大きかったら */
max
= data[i]; /* その値を新しい最大値としてmaxに格納 */
}
}
printf("max
= %d\n", max);
return
0;
}
当然ですが、最大値(最小値)を入れる変数は、あらかじめ十分小さな(大きな)値で初期化しておく必要があります。