Solved programming problem

Finding an Array Element with Binary Search.

Source code

#include <stdio.h>

int main()

{

    int array[100],n,m,i,j;

    int swap;

    printf("Please Enter The Array Size: ");

    scanf("%d",&n);

    printf("Please Enter Array Element: ");

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

    {

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

    }

    printf("Please Enter The Number You Want to Search: ");

    scanf("%d",&m);

    ///ascending order

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

    {

        for(j=0;j<n-i-1;j++)

        {

            if(array[j]>array[j+1])

            {

                swap=array[i];

                array[i]=array[i+1];

                array[i+1]=swap;

            }

        }

    }

    int left=0,right=n-1,mid;

    ///binary Search

    while(left<=right)

    {

        mid = (left + right) /2;

        if(array[mid]==m)

        {

            printf("
Found
");

            return 0;

        }

        if(array[mid]<m)

        {

            left = mid+1;

        }

        else

        {

            right = mid-1;

        }

    }

    return -1;  ///return -1 if not find the element

}

Output

Please Enter The Array Size: 5

Please Enter Array Element: 3 6 1 9 0

Please Enter The Number You Want to Search:3

Found

Join the discussion

Add your comment