Computer Science, asked by shinyazeez123, 8 months ago

write a program to wnter 10 values into an array and search for an element entered by the user using binary search

Answers

Answered by Anonymous
1

#include<iostream.h>

#include<conio.h>

void Bsearch(int a[],int);

void main( )

{

clrscr( );

int a[10],i,n;

cout<<"enter 10 element";

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

{

cin>>a[i];

}

cout<<"enter element to search";

cin>>n;

Bsearch(a[],n);

getch();

}

void Bsearch(int a[],int item)

{

int beg=0,end=9,mid,POS=0;

while(beg<=end)

{

mid=(beg+end)/2

if(item==a[mid])

{

POS=1;

cout<<"item found , position="<<mid+1;

break;

}

else if(item>a[mid])

{

beg=mid+1;

}

else

{

end=mid-1;

}

}

if(POS==0)

{

cout<<"item not found";

}

}

Answered by srajfaroquee
1

Answer:

Note: I am using C++ programming language.

Code:

#include<stdio.h>

int BinarySearch(int A[],int lb,int ub,int n);

int main(){

   int ub,lb;

   int array[20];

   int x,y,n,i;

   printf("\n * Enter the no of elements in the array (max. 20): ");

   scanf("%d",&n);

   printf("\n * Enter the array elements (in Ascending order): \n");

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

       scanf("%d",&array[i]);

   }

   printf("* Enter the number to be searched: ");

   scanf("%d",&x);

   y = BinarySearch(array,0,n-1,x);

   if(y<0){

       printf("\n ** Data not found.\n\n");

   }

   else{

       printf("\n ** Data found at position: %d \n\n ",y+1);

   }

       return 0;

}

int BinarySearch(int A[],int lb,int ub,int n){

   int mid;

   mid = (lb+ub)/2;

     if(lb<=ub){

       if(A[mid]==n){

           return mid;

       }

      else if(A[mid]<n){

           lb = mid + 1;

          BinarySearch(A,lb,ub,n);

       }

       else if(A[mid]>n){

           ub = mid - 1;

          BinarySearch(A,lb,ub,n);

       }

   }

else{

       return -1;

   }

}

**Please follow me and mark this ans as Branliest answer.Thank you!

Similar questions