정수 배열 Arr[]을 입력으로 사용합니다. 목표는 재귀적 방법을 사용하여 배열에서 가장 큰 요소와 가장 작은 요소를 찾는 것입니다.
재귀를 사용하고 있으므로 길이=1에 도달할 때까지 전체 배열을 반복한 다음 기본 사례를 구성하는 A[0]을 반환합니다. 그렇지 않은 경우 현재 요소는 현재 최소값 또는 최대값과 비교되고 해당 값은 후속 요소에 대해 반복적으로 업데이트됩니다.
Input − Arr= {12,67,99,76,32};
Output − 배열의 최대값: 99
설명 − 모든 요소 중에서 99가 가장 큰 값입니다.
Input − Arr= {1,0,-99,9,3};
Output − 배열의 최소값: -99
Explanation − 모든 요소 중에서 -99는 최소값.
Arr[] 배열을 입력으로 사용합니다.
함수 recforMin(int arr[], int len)은 입력 배열과 해당 길이를 받아들이고 재귀를 사용하여 배열의 최소값을 반환합니다.
정수 변수 최소값 가져오기
현재 인덱스 len이 1이면 최소값=arr[0]을 설정하고 최소값을 반환합니다.
그렇지 않으면 최소 = arr[len] 또는 recforMin(arr,len-1)의 최소값을 설정하고 반환합니다.
마지막으로 가장 작은 요소가 반환됩니다.
메인 함수에서 결과를 인쇄하세요.
는 Arr[] 배열을 입력으로 사용합니다.
함수 recforMax(int arr[], int len)는 입력 배열과 해당 길이를 받아들이고 재귀를 사용하여 배열의 최대값을 반환합니다.
정수 변수를 최대값으로 사용하세요.
현재 인덱스 len이 1이면 maximum=arr[0]으로 설정하고 maximum을 반환합니다.
그렇지 않으면 maximum = arr[len] 또는 recforMax(arr,len-1)의 최대값을 설정하고 반환합니다.
가장 큰 요소가 마지막에 반환됩니다.
메인 함수에서 결과를 인쇄하세요. RECURSIONS emexampling
#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; }
Maximum in the array :-100
위 내용은 C++에서 배열의 최소 및 최대 요소를 찾는 재귀 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!