C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++で配列の最大要素とその位置を見つける方法

配列の最大要素とは

配列には複数の要素が格納されており、その中で他のすべての要素よりも大きい値を持つものが「最大要素」です。

具体例

51724

上記の配列の場合、最大要素は7であり、インデックス2の位置に存在します。

それでは、配列の最大要素を求めるC++プログラムを見ていきましょう。

サンプルコード

#include <iostream>
using namespace std;
int main() {
    int a[] = {4, 9, 1, 3, 8};
    int largest, i, pos;
    largest = a[0];
    for(i=1; i<5; i++) {
        if(a[i]>largest) {
            largest = a[i];
            pos = i;
        }
    }
    cout<<"配列の最大要素は "<<largest<<" で、インデックス "<<pos<<" にあります";
    return 0;
}

実行結果

配列の最大要素は 9 で、インデックス 1 にあります

プログラムの解説

このプログラムでは、a[]が5つの要素を持つ対象となる配列です。変数largestには、配列の最大要素が格納されます。

まず、largestに配列の先頭要素a[0]を初期値として代入します。その後、forループによってインデックス1から最後の要素まで順番に処理を行います。各反復処理の中でa[i]largestを比較し、a[i]の方が大きければ、その値をlargestに代入します。同時に、その位置を示すインデックスiを変数posに保存します。

この一連の処理に該当するコード部分は以下の通りです。

for(i=1; i<5; i++) {
    if(a[i]>largest) {
        largest = a[i];
        pos = i;
    }
}

ループが完了した後、求めた最大要素の値とその位置(インデックス)を出力します。

cout<<"配列の最大要素は "<<largest<<" で、インデックス "<<pos<<" にあります";

計算量について

このアルゴリズムは配列の要素を一度だけ走査すればよいため、時間計算量はO(n)となります。要素数が多い配列でも効率的に最大要素を見つけられる、シンプルかつ実用的な手法です。

  1. Pythonで配列内の最大の要素を見つける方法を解説

    この記事では、「配列の中から最大の要素を求める」という問題の解決方法について詳しく解説します。 問題の概要 問題文:与えられた配列に対して、その中で最も大きい要素を計算して求める必要があります。 ここではブルートフォース(総当たり)アプローチを使用します。これは、配列全体を先頭から順番に走査しながら各要素を比較し、その時点での最大値を更新していくというシンプルかつ確実な手法です。 実装例 以下に具体的なコードを示します。 # 最大値を求める関数 def largest(arr, n): # 最大要素の初期値として最初の要素を設定 max = arr[0] # 配列全体を

  2. Pythonで配列内の最大要素を見つける方法【初心者向け解説】

    本記事では、配列の中から最大の要素を見つけるための解法とアプローチについて詳しく解説します。 問題の概要 配列が入力として与えられたとき、その中から最も大きい要素を見つけ出すことが課題となります。 アプローチ この問題は「線形探索」と呼ばれるシンプルな手法で解決できます。手順は以下の通りです。 まず、変数 max を配列の最初の要素で初期化します。 次に、2番目の要素から配列の末尾まで順番に走査していきます。 走査中の各要素について、現在の max の値と比較します。 要素が max より大きければ、max の値をその要素で更新します。 そうでなければ、そのまま次の要素へ進みます。 この処