Cod sursa(job #869525)
Utilizator | Data | 1 februarie 2013 19:07:26 | |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include<iostream>
#include<fstream>
using namespace std;
int n,x,v[10],m,k,tip,val;
int caut1 (int s, int d,int x)
{
if(s>d)
return -1;
else
{
m =(s+d)/2;
if (x==v[m])
return m;
if (x<v[m])
return caut1(s,m-1,x);
else
return caut1(m+1,d,x);
}
}
int main()
{
ifstream f("cautbin.in");
ofstream g("cautbin.out");
f>>n;
for (int i=1;i<=n;i++)
f>>v[i];
f>>k;
while(k--)
{
f>>tip>>val;
if(tip==0) g<<caut1(1,n,val);
}
return 0;
}