You are on page 1of 2

#include <stdio.

h>
#include <stdlib.h>
#include <time.h>
const int RANGE = 200; //range for random numbers in the array
enum SearchResult {
FOUND,
NOT_FOUND
};
void initLookupTable(enum SearchResult lookup[], int array[], int sizeOfData, in
t RANGE)
{
int v;
for(int m=0; m<RANGE; m++)
{
lookup[m] = NOT_FOUND;
}
for(int mm=0; mm<sizeOfData; mm++)
{
v = array[mm];
lookup[v] = FOUND;
}
}
enum SearchResult searchLookupTable(enum SearchResult lookup[], int key)
{
return lookup[key];
}
void fill_array(int array[], int sizeOfData)
{
for (int i = 0; i<=sizeOfData; i++)
{
array[i] = rand() % RANGE;
}
}
void print_array(int array[], int sizeOfData)
{
for (int j = 0; j<=sizeOfData; j++)
{
printf("Item %d is %d\t", j, array[j]);
}
}
int main()
{
srand ( time (0) );

for (int ij=0; ij <100; ij++)


{
const int arraySize = 100;
int a [arraySize];
enum SearchResult lookup[RANGE];
enum SearchResult result;
int searchKey = rand() % RANGE;
fill_array(a, arraySize);
print_array(a, arraySize);
initLookupTable(lookup, a, arraySize, RANGE);
result = searchLookupTable(lookup, searchKey);
if (result == FOUND)
printf("\nKEY %d FOUND \n", searchKey);
else
printf("\nKEY %d NOT FOUND \n", searchKey);
}
return (0);
}

You might also like