Getting peak value from an array  || Arrays || C programming
In this, we are going to see a program in which we will get peak value from an array in C programming Language.
 


#include <stdio.h>
int peakvalue(int arr[], int low, int high, int n)
{

    int mid = low + (high - low) / 2;

    if ((mid == 0 || arr[mid - 1] <= arr[mid]) &&
        (mid == n - 1 || arr[mid + 1] <= arr[mid]))
        return mid;
    else if (mid > 0 && arr[mid - 1] > arr[mid])
        return peakvalue(arr, low, (mid - 1), n);
    else
        return peakvalue(arr, (mid + 1), high, n);
}

int Peak(int arr[], int n)
{
    return peakvalue(arr, 0, n - 1, n);
}

int main()
{
    int arr[] = {1, 3, 20, 4, 1, 0};
    int n = sizeof(arr) / sizeof(arr[0]);
    printf("Index of a peak point is %d", Peak(arr, n));
    return 0;
}

#ENJOY CODING

Post a Comment

FOR ANY DOUBTS AND ERRORS FEEL FREE TO ASK. YOUR DOUBTS WILL BE ADDRESSED ASAP

Previous Post Next Post