62 lines
1.2 KiB
C
62 lines
1.2 KiB
C
|
/*
|
||
|
* C program accept an array of N elements and a key to search.
|
||
|
* If the search is successful, it displays "SUCCESSFUL SEARCH".
|
||
|
* Otherwise, a message "UNSUCCESSFUL SEARCH" is displayed.
|
||
|
*/
|
||
|
#include <stdio.h>
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
int array[20];
|
||
|
int i, low, mid, high, key, size;
|
||
|
printf("Enter the size of an array\n");
|
||
|
scanf("%d", &size);
|
||
|
printf("Enter the array elements\n");
|
||
|
for (i = 0; i < size; i++)
|
||
|
{
|
||
|
scanf("%d", &array[i]);
|
||
|
}
|
||
|
printf("Enter the key\n");
|
||
|
scanf("%d", &key);
|
||
|
/* search begins */
|
||
|
low = 0;
|
||
|
high = (size - 1);
|
||
|
while (low <= high)
|
||
|
{
|
||
|
mid = (low + high) / 2;
|
||
|
if (key == array[mid])
|
||
|
{
|
||
|
printf("SUCCESSFUL SEARCH\n");
|
||
|
return;
|
||
|
}
|
||
|
if (key < array[mid])
|
||
|
high = mid - 1;
|
||
|
else
|
||
|
low = mid + 1;
|
||
|
}
|
||
|
printf("UNSUCCESSFUL SEARCH\n");
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
Enter the size of an array
|
||
|
4
|
||
|
Enter the array elements
|
||
|
90
|
||
|
560
|
||
|
300
|
||
|
390
|
||
|
Enter the key
|
||
|
90
|
||
|
SUCCESSFUL SEARCH
|
||
|
|
||
|
$ a.out
|
||
|
Enter the size of an array
|
||
|
4
|
||
|
Enter the array elements
|
||
|
100
|
||
|
500
|
||
|
580
|
||
|
470
|
||
|
Enter the key
|
||
|
300
|
||
|
UNSUCCESSFUL SEARCH
|