#include #include int porediCele(const void *a, const void *b){ /* kastujemo pokazivace na void u pokazivace na int */ int *pa = (int*)a; int *pb = (int*)b; /* vracamo info da li je broj zapisan na lokaciji pa manji, veci ili jednak po uredjenju od broja zapisanog na lokaciji pb ovu informaciju sta je pre a sta posle bsearch koristi da bi znao da li da ide levo ili desno*/ return *pa-*pb; /* ako je el. na pa pre el. na pb onda vracamo negativnu vrednost, inace pozitivnu ili 0 ako su isti */ } int main(){ int a[]={2,5,8,9,100,122,122,145,1268,3455}; int x; int *pel; /* pokazivac na pronadjeni element ili NULL u slucaju da nije pronadjen */ scanf("%d", &x); pel = (int*)bsearch(&x,a,sizeof(a)/sizeof(int),sizeof(int),porediCele); if(pel==NULL){ printf("Broj nije pronadjen.\n"); }else{ printf("Broj je pronadjen na poziciji %d.\n", pel-a); } return 0; }