Tried writing a binary search algorithm , i'm getting a runtime error ;/
Archived 3 years ago
S
<3
Verified
```c++
#include<vector>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int binarysearch(vector <int> &,int,int,int,int);
int input(vector <int> &arr);
int binarysearch(vector <int>& arr,int n,int l,int h)
{
int mid=floor((l+h)/2);
if(arr.at(mid)==n)
cout<<"The value was found at position " << mid+1 <<" ! " << endl;
if( n > arr.at(mid))
{
l=mid+1;
binarysearch(arr,n,l,h);
}
else if( n < arr.at(mid))
{
h=mid-1;
binarysearch(arr,n,l,h);
}
else if(h<l)
{
cout<< "Element not found! :*( " << endl;
}
}
int input(vector <int>& arr)
{
int n{0};
char condition{'Y'};
cout<<"Do you wan to add an element to the dataset?(Y/N): " ;
cin >> condition;
if(condition== 'Y' || condition=='y')
{
cout<<"Enter the element you want to add: " ;
int temp{};
cin>>temp;
arr.push_back(temp);
return input(arr);
}
}
int main(void)
{
cout<<"Welcome to bwinwiari search X-X V1.0" << endl;
vector <int> arr {};
input(arr);
sort(arr.begin(), arr.end());
cout<<"Enter the element you want to find: " << endl;
int n;
int l=0, h=size(arr)-1;
binarysearch(arr,n,l,h);
}
```
