はじめに:プログラムの概要
どうも! みなため(@MinatameT)です。
この記事では、int型の配列の最大値の「要素番号」を求めるプログラムを紹介しています。プログラミング言語はC言語です。
例えば、int a[5] = {20,35,80,52,73}; といった配列があれば、配列の最大値は80ですよね。その80の要素番号は「2」です。3ではありません。
配列の要素番号は「0からスタート」することに注意してください。
あまり難しいプログラムではありませんので、説明をしっかりと読めば理解できると思います。
それでは、そのプログラムを紹介していきます。
配列の最大値の要素番号を求めるプログラム例
ソースコード
#include<stdio.h>
int main(void)
{
int a[5] = {20,35,80,52,73}; //5つの整数の入った配列
int max; //配列の最大値
int e; //配列の要素番号
int n; //配列の最大値の要素番号
max = a[0]; //まずは、配列の最初の要素を最大値とする。
for(e=0; e<5; e=e+1) //5回(配列の要素数だけ)繰り返す。
{
if(max<a[e]) //maxよりもa[e]が大きければ
{
max = a[e]; //最大値を上書き(更新)する。
n = e; //最大値の要素番号も上書き(更新)する。
}
}
printf("最大値の要素番号は%dです。\n",n);
return(0);
}
それぞれの変数の意味は、次のとおりです。
- a[5]:配列(5つの整数)
- max:配列の最大値
- e:配列の要素番号(ループごとに + 1)
- n:配列の最大値の要素番号
for文では、まず0 → 1 → 2 → 3 → 4の順番で、配列の値を確認していきます。
そして、その値と最大値(初期:a[0]の値)を比較し、最大値よりも大きければ「最大値を更新」します。
また、このときの「要素番号」も更新しておきます。
これを繰り返すことで、配列の最大値の要素番号が求められます。なお、配列の最大値も表示できるのですが、今回は不要なので省略しています。
それでは、実行結果を確認します。
実行結果
最大値の要素番号は2です。
このように、配列の最大値の要素番号を求めることができました!
今回はここまでです。皆さん、お疲れ様でした。