みなためラボ

【C言語】配列の最大値の要素番号を求めるプログラム

文字サイズ

はじめに:プログラムの概要

どうも! 高杉 皆為(@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です。

このように、配列の最大値の要素番号を求めることができました!

今回はここまでです。皆さん、お疲れ様でした。


 

みなためじゃんけん

このコーナーは、私と擬似的にじゃんけんできるコーナーです。

みなためじゃんけん、じゃんけんぽん!

私が出したのは……





パー

パーでした! チョキの勝利です!



この記事をSNSでシェアする

プログラミングカテゴリーの最新記事(5件)

最新記事(10件)

管理人のTwitter

内部リンク集