bsc

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

assignment-p-07.c (2554B)


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