Files
dslab/11.c
Amneesh Singh 5f95c60e19 exp 10, 11: init
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2022-12-27 21:41:56 +05:30

58 lines
1.3 KiB
C

#include <stdio.h>
int linear(int target, int arr[], int n) {
for (int i = 0; i < n; i++)
if (arr[i] == target)
return i;
return -1;
}
int binary(int target, int arr[], int b, int e) {
if (b > e)
return -1;
int m = b + (e - b) / 2;
if (arr[m] == target)
return m;
if (arr[m] > target)
return binary(target, arr, b, m - 1);
else
return binary(target, arr, m + 1, e);
return -1;
}
int main() {
int const SIZE = 5;
int arr[5], target, index;
printf("------\nLinear:\n------\n");
printf("Enter %d integers for the array:\n", SIZE);
for (int i = 0; i < SIZE; i++) {
printf("Element %d: ", i);
scanf("%d", arr + i);
}
printf("Enter element to find: ");
scanf("%d", &target);
index = linear(target, arr, SIZE);
if (index == -1)
printf("Element not found\n");
else
printf("Element %d found at index %d\n", target, index);
printf("------\nBinary:\n------\n");
printf("Enter %d SORTED integers for the array:\n", SIZE);
for (int i = 0; i < SIZE; i++) {
printf("Element %d: ", i);
scanf("%d", arr + i);
}
printf("Enter element to find: ");
scanf("%d", &target);
index = binary(target, arr, 0, SIZE - 1);
if (index == -1)
printf("Element not found\n");
else
printf("Element %d found at index %d\n", target, index);
}