
#include<stdio.h>
#include<conio.h>
int binsearch(int,int,int);
int a[30];
void main()
{
 int x,low=0,high,n,i,y;
 char ch='y';
 clrscr();
 printf("ENTER HOW MANY NUMBERS");
 scanf("%d",&n);
 high=n-1;
 printf("ENTER THE ELEMENTS IN ASCENDING ORDER");
 for(i=0;i<n;i++)
  scanf("%d",&a[i]);
  do
 {
  printf("ENTER THE SEARCHING NUMBER");
  scanf("%d",&x);
  y=binsearch(x,low,high);
  if(y==-1) printf("ELEMENT NOT PRESENT");
  else printf("ELEMENT %d IS PRESENT AT %d POSITION",x,y+1);
  printf("\n Do u want to continue(y/n):");
  scanf("%s",&ch);
 }
  while(ch=='y');
 getch();
}

int binsearch(int x,int low,int high)
{
 int mid;
 if(low>high) return -1;
 mid=(low+high)/2;
 return (x==a[mid])?mid:(x>a[mid])?binsearch(x,mid+1,high):binsearch(x,low,mid-1);
}

