Coding Global Background
Coding Global

Tried writing a binary search algorithm , i'm getting a runtime error ;/

Archiviert 3 years ago
5 Nachrichten
1 Mitglieder
Erstellt 3 years ago
Aktualisiert 3 years ago
In Discord öffnen
S
<3
Verified
++
#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);
    
}

Antworten (5)