Cod sursa(job #209785)
Utilizator | Data | 24 septembrie 2008 18:13:13 | |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include<iostream.h>
#include<fstream.h>
int a[100],v,l,h,m,n;
int binsrc(int val) {
int l = 0;
int h = n - 1;
while (l <= h) {
int m = (l + h) / 2;
if (a[m] > val)
h = m - 1;
else if (a[m] < val)
l = m + 1;
else
return m ;
}
return -1 ;
};
int main()
{
fstream f("cautbin.in",ios::in);
fstream g("cautbin.out",ios::out);
f>>n;
f>>v;
for(int i=1;i<=n;i++)
f>>a[i];
g<<binsrc(v);
f.close();
return 0;
}