Answer:
Following are the code to this question:
#include <iostream>//defining header file
using namespace std;//using namespace
int minInArray1(int arr[],int arrSize)//declaring method minInArray1
{
if(arrSize == 1)//use if block to check arrSize value is equal to 1
{
return arr[0];//return first element of array
}
else //defining else block
{
int max= minInArray1(arr, arrSize-1);//use integer variable max to call method recursively
if(arr[arrSize-1] < max)//use if block to check array value
{
max = arr[arrSize-1];//use max to hold array value
}
return max;//return max variable value
}
}
int minInArray2(int arr[], int low, int high)//defining a method minInArray2
{
if(low == high) //use if to check low and high variable value are equal
{
return arr[low];//return low variable value
}
else //defining else block
{
int minimum = minInArray2(arr, low+1, high);//defining integer variable minimum to call method minInArray2 recursively
if(arr[low] < minimum)
{
minimum = arr[low];//use minimum variable to hold array value
}
return minimum;//return minimum value
}
}
int main()//defining main method
{
int arr[10] = { 9, -2, 14, 12, 3, 6, 2, 1, -9, 15 };//defining an array arr
int r1, r2, r3, r4;//defining integer variable
r1 = minInArray1(arr, 10);//use r1 variable to call minInArray1 and hold its return value
r2 = minInArray2(arr, 0, 9);//use r1 variable to call minInArray2 and hold its return value
cout << r1 << " " << r2 << endl; //use print method to print r1 and r2 variable value
r3 = minInArray2(arr, 2, 5);//use r3 variable to call minInArray1 and hold its return value
r4 = minInArray1(arr + 2, 4); //use r4 variable to call minInArray2 and hold its return value
cout<<r3<< " " <<r4<<endl; //use print method to print r3 and r4 variable value
return 0;
}
Output:
please find the attached file.
Step-by-step explanation:
In the given code two methods, "minInArray1 and minInArray2" is defined, in the "minInArray1" it accepts two-variable "array and arrSize" as the parameter, and in the "minInArray2" method it accepts three integer variable "array, low, and high" as the parameter.
- In the "minInArray1" method, and if the block it checks array size value equal to 1 if the condition is true it will return the first element of the array, and in the else block the max variable is defined, that calling method recursively
- and store its value.
- In the "minInArray2" method, an if the block it checks low and high variable value is equal. if the condition is true it will return a low array value. In the next step, the minimum value is defined, which checks the element of the array and uses a low array to store its value.
- In the main method an array and four integer variable "r1, r2, r3, and r4" is defined, which calls two methods "minInArray1 and minInArray2" and use print method to print its value.