
Problem :
Find Maximum and Minimum Element in an Array – Using Recursion
int maxArray(int arr[], int n, int index) {
if(index == n - 1) // Base case
return arr[index];
int max_rest = maxArray(arr, n, index + 1); // Recursive call
return (arr[index] > max_rest) ? arr[index] : max_rest;
}
int minArray(int arr[], int n, int index) {
if(index == n - 1) // Base case
return arr[index];
int min_rest = minArray(arr, n, index + 1); // Recursive call
return (arr[index] < min_rest) ? arr[index] : min_rest;
}
scanf("%d", &n);
for(i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
maximum = maxArray(arr, n, 0);
minimum = minArray(arr, n, 0);
#include <stdio.h>
// Function to find maximum element
int maxArray(int arr[], int n, int index) {
if(index == n - 1)
return arr[index];
int max_rest = maxArray(arr, n, index + 1);
return (arr[index] > max_rest) ? arr[index] : max_rest;
}
// Function to find minimum element
int minArray(int arr[], int n, int index) {
if(index == n - 1)
return arr[index];
int min_rest = minArray(arr, n, index + 1);
return (arr[index] < min_rest) ? arr[index] : min_rest;
}
int main() {
int n, i, maximum, minimum;
printf("Enter the number of elements: ");
scanf("%d", &n);
int arr[n];
printf("Enter the elements:\n");
for(i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
maximum = maxArray(arr, n, 0);
minimum = minArray(arr, n, 0);
printf("\nMaximum element: %d", maximum);
printf("\nMinimum element: %d", minimum);
return 0;
}
Enter the number of elements: 5
Enter the elements:
10 25 5 30 15
Maximum element: 30
Minimum element: 5
Enter the number of elements: 4
Enter the elements:
-5 0 20 -10
Maximum element: 20
Minimum element: -10