BINARY SEARCH USING C PROGRAM





1. Write a simple code for binary search in c programming language
2. Wap a c program to search an element in an array using binary search

#include<stdio.h>
int main(){

    int a[10],i,n,m,c=0,l,u,mid;

    printf("Enter the size of an array: ");
    scanf("%d",&n);

    printf("Enter the elements in ascending order: ");
    for(i=0;i<n;i++){
         scanf("%d",&a[i]);
    }

    printf("Enter the number to be search: ");
    scanf("%d",&m);

    l=0,u=n-1;
    while(l<=u){
         mid=(l+u)/2;
         if(m==a[mid]){
             c=1;
             break;
         }
         else if(m<a[mid]){
             u=mid-1;
         }
         else
             l=mid+1;
    }
    if(c==0)
         printf("The number is not found.");
    else
         printf("The number is found.");

    return 0;
}

Sample output:
Enter the size of an array: 5
Enter the elements in ascending order: 4 7 8 11 21
Enter the number to be search: 11
The number is found.





29 comments:

Anonymous said...

not working

Anonymous said...

Hello friend ur program is working sucessfully. Thanks for it.

Anonymous said...

cud u put some comments 2 make it easier 2 undrstand

JOY said...

thanx bro!!! u got a good hand in C!!!!!!!!

Anonymous said...

please put some comments

Anonymous said...

thanks

priya said...

hey i need a program for graphical representation of binary search in c

Anonymous said...

hey can i get a program of queue in c using graphic.c

harnish said...

Good Job

Anonymous said...

it saves our time ....... thanx

Anonymous said...

lucky guy

Anonymous said...

only works if input array is already sorted

Anonymous said...

seocndly ..for m<a[mid]){ u=mid-1; the loop will go infinte

Anonymous said...

sorry it wont go infinite..

Anonymous said...

I think l < u would be correct

Anonymous said...

It is not working......

Anonymous said...

can show us it's algorithm as well as flowchart.

Anonymous said...

good work

Anonymous said...

for searching,array must be sorted

rimmy said...

its realy gud thanx dear

Vijay said...

Could always the input be in ascending order?

Anonymous said...

nice work bro

ksp said...

thank you very much. i feel very easy in using 'c' in this blog. so simple and power

prasad..

Danish kumar said...

simple huffman algorithm
#include
#include
#include
void main()
{
struct huff
{
long int freq,code;
char data[10];
}h[50];
long int n,n1=100,i,j,n2=90,temp;
char tempc[10];
clrscr();
printf("\t\t\tHUFFMAN ALGORITHM\n\n");
printf("Enter the number of character");
scanf("%ld",&n);
for(i=0;i<n;i++)
{
printf("Enter the character::");
scanf("%s",h[i].data);
printf("Enter the frequency for character %s::", h[i].data);
scanf("%ld",&h[i].freq);
}
for(i=0;i<n-1;i++)
{
for(j=1;j<n;j++)
{
if(h[i].freq<h[j].freq)
{
temp=h[i].freq;
h[i].freq=h[j].freq;
h[j].freq=temp;
strcpy(tempc,h[i].data);
strcpy(h[i].data,h[j].data);
strcpy(h[j].data,tempc);
}
}
}
h[0].code=10;
h[1].code=11;
for(i=2;i<n;i++)
{
if(i%2==0)
{
h[i].code=h[i-2].code+n1;
n1=n1*10;
}
else
{
h[i].code=h[i-2].code+n2;
n2=n2*10;
}
}
printf("Huffman code");
printf("\nchar\tfreq\tcode");
for(i=0;i<n;i++)
{
printf("\n%s\t%ld\t%ld\n",h[i].data,h[i].freq,h[i].code);
}
getch();
}

Rohit said...

cud u pls do d programs fo findin hcf & lcm ?

debojyoti said...

good one.....

Anonymous said...

Yup it should always be in ascending order.

Unknown said...

thanx ....but pls put commands....sir

sandeep kumar said...

so many closed braces but only one open brace...how ca it work!!!

C compiler: gcc 4.1.2