Cod sursa(job #230098)
Utilizator | Data | 12 decembrie 2008 23:25:37 | |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <stdio.h>
int v[100], n, x;
int binar (int ls, int ld)
{
if (ls==ld)
if (v[ls]==x)
return ls;
if (x<v[(ls+ld)/2])
return binar (ls, (ls+ld)/2);
else
return binar ((ls+ld)/2+1, ld);
}
int main ()
{
freopen ("cautbin.in", "r", stdin);
freopen ("cautbin.out", "w", stdout);
scanf ("%d", n);
for (int i=1; i<n; i++)
scanf ("%d", v[i]);
scanf ("%d", x);
printf ("%d", binar (1, n));
}