Răspuns :
#include <iostream>
using namespace std;
int main()
{int n,x,i,a[100];
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
cin>>x;
int st=0,dr=n-1,mij;
while(st<dr)
{mij=(st+dr)/2;
if(x<a[mij])
dr=mij-1;
else if(x>a[mij])
st=mij+1;
else
{cout<<mij; return 0;}}
cout<<"NU";
return 0;}
Căutare binară, metoda divide et impera
Testat!
#include
using namespace std;
int divide(int i, int j, int v[50], int x)
{int m=(i+j)/2;
if(x==v[m])
cout<<"gasit pe pozitia"<>n;
for(int k=1; k<=n;k++)
cin>>v[k];
cin>>x;
divide(1, n, v, x);}