//Enter decimal values in Descending order in an array  and search for a specific number. If it is found then print its index Number otherwise print Not Found


 import java.util.*;

class binarySearch//Binary search Descending order

{

   public static void main(String args[])

   {

   Scanner ob=new Scanner(System.in);

   System.out.println("Enter No of Elements");

   int n=ob.nextInt();

   double ar[]=new double[n];

   int i,ind=-1;

   System.out.println("Enetr Decimal values in Descending Order\n");

   for(i=0;i<n;i++)

   {

   ar[i]=ob.nextDouble();//enter values in Descending order

   }

   System.out.println("Enetr SEARCH  NUMBER in DECIMAL");

   double sp=ob.nextDouble();

   int beg=0,last=n-1,mid=0;


   while(beg<=last)

   {

   mid=(beg+last)/2;

   if(ar[mid]==sp)

   {

   ind=mid;

   break;

   }

   if(ar[mid]<sp)

   {

   last=mid-1;

   }

   else

   {

   beg=mid+1;

   }

   }

   if(ind==-1)

   {

   System.out.println("NOT Found");

   }

   else

   {

   System.out.println(sp+"\tNO Found at\t"+ind + "Index Number");

   }

   }

}

Comments