ホームページ  >  記事  >  バックエンド開発  >  C++ で配列の最小要素と最大要素を見つける再帰的プログラム

C++ で配列の最小要素と最大要素を見つける再帰的プログラム

WBOY
WBOY転載
2023-08-31 19:37:05954ブラウズ

C++ で配列の最小要素と最大要素を見つける再帰的プログラム

整数配列 Arr[] を入力として受け取ります。目標は、再帰的メソッドを使用して配列内の最大要素と最小要素を見つけることです。

再帰を使用しているため、長さ = 1 に達するまで配列全体を反復処理し、基本ケースを形成する A[0] を返します。それ以外の場合、現在の要素は現在の最小値または最大値と比較され、その値は後続の要素に対して再帰的に更新されます。

この -

Input - Arr= {12,67,99,76,32};

# のさまざまな入出力シナリオを見てみましょう。

##出力 - 配列内の最大値: 99

説明 - すべての要素のうち、99 が最大値です。

入力 - Arr= {1,0,-99,9,3};

出力 - 配列内の最小値: - 99

説明 -すべての要素の中で、-99が最小値です。

次のプログラムで使用されるメソッドは次のとおりです。

最小値の検索

  • 配列 Arr[] を入力として受け取ります。

  • 関数recforMin(int arr[], int len)は、入力配列とその長さを受け入れ、再帰を使用して配列内の最小値を返します。

  • 整数変数 minimum を取得します

  • 現在のインデックス len が 1 の場合、minimum=arr[0] を設定し、minimum を返します。

  • それ以外の場合は、minimum = arr[len] またはrecforMin(arr,len-1) の最小値を設定して返します。

  • 最後に、最小の要素が返されます。

  • main 関数で結果を出力します。

最大値の検索

  • 配列 Arr[] を入力として取得します。

  • 関数recforMax(int arr[], int len)は、入力配列とその長さを受け入れ、再帰を使用して配列内の最大値を返します。

  • 整数変数の最大値を取得します。

  • 現在のインデックス len が 1 の場合、maximum=arr[0] を設定し、maximum を返します。

  • それ以外の場合は、maximum = arr[len]またはrecforMax(arr,len-1)の最大値を設定して返します。

  • 最後に、最大の要素が返されます。

  • main 関数で結果を出力します。

再帰を使用して最小値を見つける

#include <iostream>
using namespace std;
int recforMin(int arr[], int len){
   int minimum;
   if (len == 1){
      minimum=arr[0];
      return minimum;
   }
   else{
      return minimum=arr[len]<recforMin(arr,len-1)?arr[len]:recforMin(arr,len-1);
   }
}
int main(){
   int Arr[] = {-89,98,76,32,21,35,100};
   int length = sizeof(Arr)/sizeof(Arr[0]);
   cout <<"Minimum in the array :"<<recforMin(Arr, length);
   return 0;
}

出力

上記のコードを実行すると、次の出力が表示されます。 ##
Minimum in the array :-89

再帰を使用して最小値を見つける

#include <iostream>
using namespace std;
int recforMax(int arr[], int len){
   int maximum;

   if (len == 1){
      maximum=arr[0];
      return maximum;
   }
   else{
      return maximum=arr[len]>recforMax(arr,len-1)?arr[len]:recforMax(arr,len-1);
   }
}
int main(){
   int Arr[] = {-89,98,76,32,21,35,100};
   int length = sizeof(Arr)/sizeof(Arr[0]);
   cout <<"Maximum in the array :"<<recforMax(Arr, length);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます

rreeee

以上がC++ で配列の最小要素と最大要素を見つける再帰的プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。