NAV BAR

Monday, 8 August 2016

Binary Searching in C

/*Works only with sorted list*/
#include<stdio.h>
#include<conio.h>
int getArray();
int getNum();
int getSearch();
int process();
int getNum()
{
    int n;
    printf("Enter number of array\n");
    scanf("%d",&n);
    return n;
}
int getArray()
{
    int a[100],i,n;
    n = getNum();
    printf("Enter each element\n");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    return a;
}
int getSearch()
{
    int num;
    printf("Enter value to be searched\n");
    scanf("%d",&num);
    return num;
}
int process()
{
    int a[100],i,num,beg,end,n,mid,flag = 0;
    a[100] = getArray();
    n = getNum();
    num = getSearch();
    beg = 0;
    end = n-1;
    printf("Following is array\n");
    printf("Value of n is %d\n",n);
    printf("Value of search is %d",num);
    for(i=0;i<n;i++)
    {
        printf("%d\n",a[i]);
    }

    while(beg<=end)
    {
        mid  = (beg + end)/2;
        if(a[mid]==num)
        {
            flag  = 1;
            printf("Element %d found at %d",num,mid);
            break;
        }
        else if(a[mid]<num)
        {
            beg = mid + 1;
        }
        else
        {
            end = mid - 1;
        }
    }
    if(flag==0&&beg>end)
    {
        printf("Enter valid search\n");
    }
    return 0;
}

int main()
{
    process();
    getch();

}

No comments:

Post a Comment