Cod sursa(job #524520)
Utilizator | Data | 22 ianuarie 2011 10:12:24 | |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<iostream.h>
long n;
int v,a[1000000],m;
int cautare(int v)
{long p,u,s;
p=1;
u=n;
while(p<u){m=(p+u)/2;
if(v==a[m])return m;
if(v>a[m])p=m+1;
if(v<a[m])u=m-1;
}
return 0;
}
int main()
{cout<<"n=";cin>>n;
for(int i=1;i<=n;i++)
{cout<<"a["<<i<<"]=";cin>>a[i];
}
cout<<"v=";cin>>v;
if(cautare(v))cout<<m;
else cout<<"-1";
return 0;
}