Tuesday 24 April 2012

10th Experiment BINARY SEARCH


                                                             Algorithm for BINARY SEARCH:
---------------------------------------------------------------------------------------------------------------------------------------
Step 1- START
Step 2- Create an object for the class BINSRCH
Step 3- Read the number of elements to be processed.
Step 4- Call the Function “GETARR”  and read the elements.
step 5- Call the function “SORT” for sorting the element through obj
Step 6- DISPLAY the sorted array.
Step 7-STOP
------------------------------------------------------------------------------------------------------------------------------------
                                                                          FLOWCHART
-----------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
                                                                 C++ IMPLEMENTATION
---------------------------------------------------------------------------------------------------------------------------------------
//program for BINARY SEARCH IN AN ARRAY

#include<iostream.h>
#include<conio.h>
class bin
{
int arr[10],i,j,no,l,h,m;
public:
void getarr();
void sort();
void srch(int);
};
//----------DEFINITION FOR getarr()--------------------
void bin::getarr()
{
cout<<"\n\t\t HOW MANY ELEMENTS TO BE PROCESSED...?\n";
cin>>no;
cout<<"\n\t\t ENTER YOUR ELMENTS:...\n";
for(i=1;i<=no;i++)
cin>>arr[i];
cout<<"\n\t\t YOUR ENTERED ELEMENTS ARE:\n\t\t";
for(j=1;j<=no;j++)
{
cout<<"\t"<<arr[j];
}
return;
}

//-----------DEFINITION for-SORTING------------
void bin::sort()
{
for(i=1;i<=no-1;i++)
{
for(j=i+1;j<=no;j++)
{
if(arr[i]>arr[j])
{
int t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
cout<<"\n\t\t NOW YOUR SORTED ARRAY IS:...\n\t\t";
for(i=1;i<=no;i++)
{
cout<<"\t"<<arr[i];
}
return;
}
//--------------DEFINITION for -SEARCHING-------------
void bin::srch(int x)
{

l=1;
h=no;
while(l<=h)

{
m=(l+h)/2;
if(x==arr[m])
{
cout<<"\n\t\t\n\t\t ELEMENT IS FOUND\n\t\t ELEMENT LOCATION IS:\t"<<m;
return;
}
if(x>arr[m])
l=m+1;
else
h=m-1;
}
cout<<"\n\t\tELEMENT "<<x<<"  IS NOT FOUND...\n\t\t\n";


}

//--------------------------MAIN FUNCTION-----------------------
void main()
{
clrscr();
bin b;
int x;
char ch;
cout<<"\n\t\t\tBINARY SEARCH\n\t\t\n";
b.getarr();
b.sort();
do
{
cout<<"\n\n ENTER THE ELEMENT TO BE SEARCHED...: ?\n";
cin>>x;
b.srch(x);
cout<<"PRESS ANY KEY TO EXIT\n";
cin>>ch;
}
while(ch=='y');
}


OUT PUT
HOW MANY ELEMENTS TO BE PROCESSED...?
2
ENTER YOUR ELMENTS:...
12
21
ENTER YOR ELEMENT TO BE SEARCHED nw...: ?
12
Element is found
ELEMENT LOCATION IS 1
PRESS ANY KEY TO EXIT

No comments:

Post a Comment