Program for binary search in c programming

There are 20 elements in an array. And you have to perform binary search operation on these elements.


9 Answers
1-9 of  9
9 Answers

  • C programming code for binary search
    #include <stdio.h>  
    int main()
    {
    int c, first, last, middle, n, search, array[100];  
    printf("Enter number of elements\n");
    scanf("%d",&n);  
    printf("Enter %d integers\n", n);
      for (c = 0; c < n; c++)
    scanf("%d",&array[c]);
      printf("Enter value to find\n");
    scanf("%d", &search);
      first = 0; last = n - 1;
    middle = (first+last)/2;
      while (first <= last)
    {
    if (array[middle] < search) first = middle + 1;
    else if (array[middle] == search)
    {
    printf("%d found at location %d.\n", search, middle+1);
    break;
    }
    else last = middle - 1;  
    middle = (first + last)/2;
    }
    if (first > last) printf("Not found! %d isn't present in the list.\n", search);  
    return 0;
    }

  • include <stdio.h>
     
    int main()
    {
       int c, first, last, middle, n, search,array[100];
     
       printf("Enter number of elements\n");
       scanf("%d",&n);
     
       printf("Enter %d integers\n", n);
     
       for (c = 0; c < n; c++)
          scanf("%d",&array[c]);
     
       printf("Enter value to find\n");
       scanf("%d", &search);

  • #include<stdio.h> #include<conio.h> void main() { clrscr(); int n, i, arr[20], search, first, last, middle; printf("Enter total number of elements :"); scanf("%d",&n); printf("Enter %d number :", n); for (i=0; i<n; i++) { scanf("%d",&arr[i]); } printf("Enter a number to find :"); scanf("%d", &search); first = 0; last = n-1; middle = (first+last)/2; while (first <= last) { if(arr[middle] < search) { first = middle + 1; } else if(arr[middle] == search) { printf("%d found at location %d\n", search, middle+1); break; } else { last = middle - 1; } middle = (first + last)/2; } if(first > last) { printf("Not found! %d is not present in the list.",search); } getch(); }

  • Here you can get the answer-
    #include <stdio.h>
    #include<conio.h> 
    int main()
    {
    int x, A, B, C, n, search, array[100];  
    printf("Enter number of elements\n");
    scanf("%d",&n);  
    printf("Enter %d integers\n", n);
      for (x = 0; x < n; x++)
    scanf("%d",&array[x]);
      printf("Enter value to find\n");
    scanf("%d", &search);
      A = 0; B = n - 1;
    C = (A+B)/2;
      while (A <= B)
    {
    if (array[C] < search) A = C + 1;
    else if (array[C] == search)
    {
    printf("%d found at location %d.\n", search, C+1);
    break;
    }
    else last = C - 1;  
    C = (A + B)/2;
    }
    if (A > B) printf("Not found! %d isn't present in the list.\n", search);  
    getch();
    }

    If you want to start Training for C languge to become an expert so please join-
     

  • #include <stdio.h>
    #include<conio.h> 
    int main()
    {
    int c, first, last, middle, n, search, array[100];  
    printf("Enter number of elements\n");
    scanf("%d",&n);  
    printf("Enter %d integers\n", n);
      for (c = 0; c < n; c++)
    scanf("%d",&array[c]);
      printf("Enter value to find\n");
    scanf("%d", &search);
      first = 0; last = n - 1;
    middle = (first+last)/2;
      while (first <= last)
    {
    if (array[middle] < search) first = middle + 1;
    else if (array[middle] == search)
    {
    printf("%d found at location %d.\n", search, middle+1);
    break;
    }
    else last = middle - 1;  
    middle = (first + last)/2;
    }
    if (first > last) printf("Not found! %d isn't present in the list.\n", search);  
    getch();
    }

  • #include <stdio.h>
    #include<conio.h> 
    int main()
    {
    int c, first, last, middle, n, search, array[100];  
    printf("Enter number of elements\n");
    scanf("%d",&n);  
    printf("Enter %d integers\n", n);
      for (c = 0; c < n; c++)
    scanf("%d",&array[c]);
      printf("Enter value to find\n");
    scanf("%d", &search);
      first = 0; last = n - 1;
    middle = (first+last)/2;
      while (first <= last)
    {
    if (array[middle] < search) first = middle + 1;
    else if (array[middle] == search)
    {
    printf("%d found at location %d.\n", search, middle+1);
    break;
    }
    else last = middle - 1;  
    middle = (first + last)/2;
    }
    if (first > last) printf("Not found! %d isn't present in the list.\n", search);  
    getch();
    }

  • #include <stdio.h>
    int binarySearch(int arr[], int l, int r, int x)
    {
       if (r >= l)
       {
            int mid = l + (r - l)/2;
              if (arr[mid] == x)  
                return mid;
              if (arr[mid] > x) 
                return binarySearch(arr, l, mid-1, x);
                 return binarySearch(arr, mid+1, r, x);
       }
    return binarySearch(arr, mid+1, r, x);
       }
     return -1;
    }
    int main(void)
    {
       int arr[] = {2, 3, 4, 10, 40};
       int n = sizeof(arr)/ sizeof(arr[0]);
       int x = 10;
       int result = binarySearch(arr, 0, n-1, x);
       (result == -1)? printf("Element is not present in array")
                     : printf("Element is present at index %d",
                                                       result);
       return 0;
    }

  • #include #include void main() { int i, first, last, middle, n, search, array[20]; printf("Enter number of elements\n"); scanf("%d",&n); printf("Enter %d integers\n", n); for (i = 0; i last) printf("Not found! %d isn't present in the list.\n", search); getch(); }

  • 1. Sort the array
    then follow the following program


    C programming code for binary search
    #include <stdio.h>  
    int main()
    {
    int c, first, last, middle, n, search, array[100];  
    printf("Enter number of elements\n");
    scanf("%d",&n);  
    printf("Enter %d integers\n", n);
      for (c = 0; c < n; c++)
    scanf("%d",&array[c]);
      printf("Enter value to find\n");
    scanf("%d", &search);
      first = 0; last = n - 1;
    middle = (first+last)/2;
      while (first <= last)
    {
    if (array[middle] < search) first = middle + 1;
    else if (array[middle] == search)
    {
    printf("%d found at location %d.\n", search, middle+1);
    break;
    }
    else last = middle - 1;  
    middle = (first + last)/2;
    }
    if (first > last) printf("Not found! %d isn't present in the list.\n", search);  
    return 0;
    }

Core Java

Didn't get the answer.
Contact people of Talent-Core Java directly by clicking here