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

C ++で配列の最小(または最大)要素を見つけるプログラム


この問題では、n個の整数の配列arr[]が与えられます。私たちのタスクは、C++で配列の最小要素と最大要素を見つけるプログラムを作成することです。

問題の説明 −ここに、配列arr[]があります。にはn個の整数値が含まれます。配列のすべての値から最大値と最小値を見つける必要があります。

問題を理解するために例を見てみましょう

入力

arr[] = {2, 1, 6, 9, 4, 10, 15, 21}

出力

max = 21 , min = 1

ソリューションアプローチ

問題には複数の解決策があります

1つのソリューション 配列の要素を直接比較します。これは、配列の各要素をチェックし、比較を使用して最大値と最小値を見つけることによって行われます。

これは、2つの異なるアプローチを使用して実行できます。

  • 反復アプローチ
  • 再帰的アプローチ

問題を解決するための反復的なアプローチ

配列をループし、配列の各要素を抽出して、配列の最大要素と最小要素と比較します。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;
void getMinMax(int arr[] , int N){
   int max = arr[0], min = arr[0];
   for(int i = 1; i < N; i++){
      if(max < arr[i])
         max = arr[i];
      if(min > arr[i])
         min = arr[i];
   }
   cout<<"Maximum Value = "<<max<<"\n";
   cout<<"Minimum Value = "<<min;
}
int main(){
   int arr[] = {2, 1, 6, 9, 4, 10, 15, 21};
   int N = 8;
   getMinMax(arr, N);
   return 0;
}

出力

Maximum Value = 21
Minimum Value = 1

問題を解決するための再帰的アプローチ

このアプローチでは、配列のすべての要素に対してメソッドを繰り返し呼び出すことにより、配列のすべての要素の最大値と最小値を見つけることで問題を解決します。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;
int CalcMinValue(int arr[], int n) {
   return (n == 1) ? arr[0] : min(arr[n - 1], CalcMinValue(arr, n - 1));
}
int CalcMaxValue(int arr[], int n) {
   return (n == 1) ? arr[0] : max(arr[n -1], CalcMinValue(arr, n - 1));
}
int main() {
   int arr[] = {2, 1, 6, 9, 4, 10, 15, 21};
   int N = 8;
   cout<<"Maximum Value = "<<CalcMaxValue(arr, N)<<endl;
   cout<<"Minimum Value = "<<CalcMinValue(arr, N);
   return 0;
}

出力

Maximum Value = 21
Minimum Value = 1

この問題は、C++プログラミング言語の標準テンプレートライブラリで提供されている組み込み関数を使用して解決することもできます。

解を見つけるためのメソッドはmin_element()とmax_element()であり、これらのメソッドはC++のbits/stdc++。hライブラリにあります。

問題の解決策を説明するプログラム

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {2, 1, 6, 9, 4, 10, 15, 21};
   int N = 8;
   cout<<"Maximum Value = "<<(*max_element(arr, arr+N))<<endl;
   cout<<"Minimum Value = "<<(*min_element(arr, arr+N));
   return 0;
}

出力

Maximum Value = 21
Minimum Value = 1

  1. 配列内の最小要素を見つけるためのPHPプログラム

    配列内の最小要素を見つけるためのPHPコードは次のとおりです- 例 <?php    function get_min_value($my_array){       $n = count($my_array);       $min_val = $my_array[0];       for ($i = 1; $i < $n; $i++)          if ($min_val > $my_array[$i])

  2. 配列内の最大要素と最小要素を見つけるC#プログラム

    すべての要素を比較できるように、最小要素と最大要素を最初の要素に設定します。 最大に。 if(arr[i]>max) {    max = arr[i]; } 最低限。 if(arr[i]<min) {    min = arr[i]; } 次のコードを実行して、最大要素と最小要素の位置を見つけることができます。 例 using System; public class Demo {    public static void Main() {       int[] arr = new