bsc

Comprehensive codebase and cou...
Log | Files | Refs | Activity | README | LICENSE

root / semester_1 / assignment-primary / assignment-p-07.c

assignment-p-07.c (2363B)


      1 /* Write a C program that includes a user-defined function named binarySearch with the
      2 signature int binarySearch(int arr[], int size, int target);. The function should perform a
      3 binary search on a sorted array of integers and return the index of the target element if
      4 found, and -1 otherwise. */
      5 
      6 #include <stdio.h>
      7 
      8 int inputArray(int[], int);
      9 // void sortArray(int[], int);
     10 int binarySearch(int[], int, int);
     11 
     12 int main()
     13 {
     14     int size;
     15     printf("How many element do you want to enter: ");
     16     scanf("%d", &size);
     17     int arr[size];
     18     int target = inputArray(arr, size);
     19     // sortArray(arr, size);
     20     int index = binarySearch(arr, size, target);
     21     if (index != -1)
     22     {
     23         printf("\nElement %d is found at index %d.", target, index);
     24     }
     25     else
     26     {
     27         printf("\nElement %d is not found.", target);
     28     }
     29     return 0;
     30 }
     31 
     32 int inputArray(int arr[], int size)
     33 {
     34     int i, target;
     35     for (i = 0; i < size; i++)
     36     {
     37         printf("Enter element for position %d: ", i);
     38         scanf("%d", &arr[i]);
     39     }
     40     printf("\nEnter the target element: ");
     41     scanf("%d", &target);
     42     return target;
     43 }
     44 
     45 /* void sortArray(int arr[], int size)
     46 {    
     47     // using Bubble Sort...
     48 
     49     int tempArr[size], i, j, temp;
     50     printf("\nBefore Sorting:\n[");
     51     for (i = 0; i < size; i++)
     52     {
     53         printf("%d", arr[i]);
     54         if (i != size - 1)
     55         {
     56             printf(", ");
     57         }
     58     }
     59     printf("]\n");
     60     for (i = 0; i < size - 1; i++)
     61     {
     62         for (j = 0; j < size - i - 1; j++)
     63         {
     64             if (arr[j] > arr[j + 1])
     65             {
     66                 temp = arr[j];
     67                 arr[j] = arr[j + 1];
     68                 arr[j + 1] = temp;
     69             }
     70         }
     71     }
     72     printf("\nAfter Sorting:\n[");
     73     for (i = 0; i < size; i++)
     74     {
     75         printf("%d", arr[i]);
     76         if (i != size - 1)
     77         {
     78             printf(", ");
     79         }
     80     }
     81     printf("]\n");
     82 }
     83 */
     84 
     85 int binarySearch(int arr[], int size, int target)
     86 {
     87     int low = 0;
     88     int high = size - 1;
     89     int mid;
     90     while (low <= high)
     91     {
     92         mid = low + ((high - low) / 2);
     93         if (arr[mid] == target)
     94         {
     95             return mid;
     96         }
     97         else if (arr[mid] > target)
     98         {
     99             high = mid - 1;
    100         }
    101         else if (arr[mid] < target)
    102         {
    103             low = mid + 1;
    104         }
    105     }
    106     return -1;
    107 }
© notamitgamer • Site Built: 2026-09-05 01:53:16 UTC • git-mirror commit: c170d72 [view raw info]
Originally created with stagit • modified by notamitgamer
Forked from github.com/notamitgamer/git-mirror