Cod sursa(job #1133524)

Utilizator pitbull007Hurmuzache Ciprian pitbull007 Data 4 martie 2014 23:02:04
Problema Cautare binara Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>
#include <stdlib.h>

int binarySearch(int *v,int length,int val) {
    int i,pas;
    for(pas=1;pas<length;pas=pas<<1);
    for(i=0;pas;pas=pas>>1) {
        if(i+pas < length && v[i+pas] <= val)
            i=i+pas;

    }
    if(v[i] == val)
        return i;
    return -1;
}

int v[100001];
int main() {
    FILE *fin,*fout;
    fin=fopen("cautbin.in","r");
    fout=fopen("cautbin.out","w");

    int i,N,M;

    fscanf(fin,"%d",&N);
    for(i=0;i<N;i++)
        fscanf(fin,"%d",&v[i]);

    int found=binarySearch(v,N,7);
   // printf("%d",found+1);
    fprintf(fout,"%d\n",found+1);
    return 0;
}