//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
Post a Comment