home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light
/
Light_Vol.1_August_1992_Datasphere_Publications_Disk_1_of_2_Side_A.d64
/
search.c
< prev
next >
Wrap
Text File
|
2023-02-26
|
2KB
|
92 lines
/*
Binary Search on a sorted array of names
*/
#include "stdio.h"
#include "ctype.h"
#define NUM 5
#define clear_screen printf("\223")
char *names[5] = {SHIFT-+} "Andy",
"Bob",
"Chris",
"Kerry",
"Pete" {SHIFT--};
int value,number,top,bottom,middle;
char *search_name;
void search()
{SHIFT-+}
while(strncmp(names[middle],search_name,strlen(names[middle])) != 0
&& (bottom-top) >1)
{SHIFT-+}
value = strncmp(names[middle],search_name,strlen(names[middle]));
if (value == -1)
top = middle;
else
bottom = middle;
middle = (top+bottom)/2;
{SHIFT--}
{SHIFT--}
main()
{SHIFT-+}
int x;
char temp,choice;
search_name = (char *) alloc(10);
clear_screen;
for(x=0; x<5; x++)
{SHIFT-+}
printf("\nname[%u] = %s",x,names[x]);
{SHIFT--}
do
{SHIFT-+}
printf("\n\nEnter name to be searched for");
printf("\n(end to end) :");
scanf("%s",search_name);
bottom = NUM;
top =0;
middle = (top+bottom)/2;
search();
if (strncmp(names[middle],search_name,strlen(names[middle])) == 0)
{SHIFT-+}
printf("\n\nFound %s at position %d",names[middle],middle);
{SHIFT--}
else
{SHIFT-+}
printf("\nNot found %s",search_name);
{SHIFT--}
{SHIFT--}
while (strncmp("end",search_name,3) !=0);
printf("\n\nPress... B for Bubble sort or,");
printf("\n any for Menu");
temp=getchar();
choice=toupper(temp);
if (choice == 'B')
{SHIFT-+}
printf("\n\nBubble, Bubbles on their way...");
exec("bubble");
{SHIFT--}
else
{SHIFT-+}
printf("\n\nLoading Menu");
exec("c-menu");
{SHIFT--}
{SHIFT--}