SEP- ADA

PROGRAM 1 PROGRAM 2 PROGRAM 3 PROGRAM 4 PROGRAM 5 PROGRAM 6 PROGRAM 7

PART B

PROGRAM B1 PROGRAM B2 PROGRAM B3 PROGRAM B4 PROGRAM B5 PROGRAM B6 PROGRAM B7 . . .

 
  
 
 1. Write a C program to implement binary search using divide and conquer approach.
// Algorithm: BinarySearch
// Input: arr[]: A sorted array to search, left: Starting index, right: Ending index, key:
The value to find
// Output: Index of 'key' if found, -1 otherwise.
Step 1: While left <= right:
Step 2: Compute mid = left + (right - left) / 2
Step 3: If arr[mid] == target, return mid
Step 4: Else if arr[mid] < target:
Update left = mid + 1
Else:
Update right = mid - 1

#include< stdio.h>
int binarySearch(int arr[], int left, int right, int target)
{
while(left <= right)
{
int mid = left + (right - left) / 2;
if(arr[mid] == target) return mid;
if(arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
void main()
{
int n, i, key;
printf("Enter the size of the sorted array: ");
scanf("%d", &n);
int arr[n];
printf("Enter %d sorted elements:\n", n);
for(i = 0; i < n; i++)
scanf("%d", &arr[i]);
printf("Enter the element to be searched: ");
scanf("%d", &key);
int result = binarySearch(arr, 0, n - 1, key);
if(result == -1) printf("Element not found.\n");
else printf("Element found at index %d.\n", result);
}