binary serach it not search element whereas it is in array

Viewed 26

it is not search element mean give output -1 whereas element present in array.

#include<iostream>
using namespace std;

int binarysearch(int arr[],int n, int key){
    int s=0;
    int e=0;
    int mid=(s+e)/2;

    while (s<=e)
    {
        if(arr[mid]==key){
            return mid;
        }
        else if(arr[mid]<key){
            s=mid+1;
        }
        else{
            e=mid-1;
        }
    }
    return -1;
}

int main (){
    int n;
    cout<<"Enter array size :";
    cin>>n;

    int arr[n];

    for(int i=0; i<n; i++){
        cin>>arr[i];
    }

    int key;
    cout<<"Enter key :";
    cin>>key;

    cout<<binarysearch(arr,n,key)<<endl;
}
0 Answers
Related