Recursive Programs to find Minimum and Maximum elements of array in C++

We are given an integer array Arr[] as input. The goal is to find maximum and minimum elements among the array using recursive methods.
Since we are using recursion, we will traverse the whole array till we reach length=1 then return A[0] which forms the base case. Else compare current element with present minimum or maximum and update its value by recursion for later elements.
Input − Arr= {12,67,99,76,32};
Output − Maximum in the array :99
Explanation − Out of all elements 99 is maximum among them.
Input − Arr= {1,0,-99,9,3};
Output − Minimum in the array :-99
Explanation − Out of all elements -99 is minimum among them.
Take array Arr[] as input.
Take array Arr[] as input.
Function recforMin(int arr[], int len) takes input array and its length and returns minimum in the array using recursion.
Function recforMin(int arr[], int len) takes input array and its length and returns minimum in the array using recursion.
Take the integer variable minimum
Take the integer variable minimum
If the current index len is 1 then set minimum=arr[0] and return minimum.
If the current index len is 1 then set minimum=arr[0] and return minimum.
Else set minimum = minimum of arr[len] or recforMin(arr,len-1) and return it.
Else set minimum = minimum of arr[len] or recforMin(arr,len-1) and return it.
At the end the minimum element will be returned.
At the end the minimum element will be returned.
Print result obtained inside main.
Print result obtained inside main.
For finding Maximum
For finding Maximum
Take array Arr[] as input.
Take array Arr[] as input.
Function recforMax(int arr[], int len) takes input array and its length and returns maximum in the array using recursion.
Function recforMax(int arr[], int len) takes input array and its length and returns maximum in the array using recursion.
Take the integer variable maximum.
Take the integer variable maximum.
If the current index len is 1 then set maximum=arr[0] and return maximum.
If the current index len is 1 then set maximum=arr[0] and return maximum.
Else set minimum = maximum of arr[len] or recforMax(arr,len-1) and return it.
Else set minimum = maximum of arr[len] or recforMax(arr,len-1) and return it.
At the end the maximum element will be returned.
At the end the maximum element will be returned.
Print result obtained inside main.
Print result obtained inside 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;
}
If we run the above code it will generate the following Output
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;
}
If we run the above code it will generate the following Output
Maximum in the array :-100