Cod sursa(job #1058979)
| Utilizator | Data | 16 decembrie 2013 00:34:25 | |
|---|---|---|---|
| Problema | Cautare binara | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
using namespace std;
int v[100],n,x;
void divizeaza(int s, int d, int &m)
{ m=(s+d)/2;
}
void cauta(int s, int d, int &z)
{
int m;
if(d>s)
{divizeaza(s,d,m);
if(v[m]==x) z=m;
else if(x>v[m]) cauta(m+1,d,z);
else cauta(s,m,z);}}
int main()
{
int i,z=0;
cin>>n;
cin>>x;
for(i=1;i<=n;i++)
cin>>v[i];
cauta(1,n,z);
{
if(z==0)
cout<<"nu exista";
else cout<<"exista pe pozitia"<<z;
}
}
