23 HOURS WASTED! Due tonight need help

crashcoder's Avatar, Join Date: Apr 2012
Newbie Member
Hi there, I spent nearly two days worth of time trying to complete a program which is due 4/25 at midnight. The program asks the programmer to create a program that does the following:
* reads in 250 words from a text file into a class array with 250 storage space.
*prompt the user for a word to search
*display menu(1. find word via binary search, 2.find word via linear search, 3. Quit)
*if selection is 1. do binary search, if word found output "found" and # of comparisons made.
*if selection 2. do linear search ,if found display "found" and #of comparisons made
*if not found, display, not found and number of comparisons made.

-THE ISSUE IS THAT THE TEXT FILE IS NOT BEING READ INTO THE ARRAY PROPERLY SO THE SEARCHED DO RECORD #OF COMPARISONS OR FIND THE WORD SOUGHT.

Code:
void crunch::linearsearch(char wordFind[])         // wordFind passed in from main
  {
for(int i=0;i <= Size;i++)
    {
   if(words[i] == wordFind)
      {
          cout <<"The word" <<" "<<wordFind<<" "<<"was found"<<" "
         <<i + 1<<" "<<"comparisons where made.";
          return;
      }
   else if(i == Size)
       {  
         cout <<"The word"<<wordFind<<"was not found"
        <<i + 1 <<"comparisons where made";
         return;
       }
     }
  }
   
void crunch::binarysearch(char wordFind[])
  {  
    int first=0;
   int last=249;
while (first <= last)
    { int count=0;
    int mid=(first + last)/ 2;
    
   if( words[mid] == wordFind)                     
     first= mid + 1;
    if(words[mid] > wordFind)
     first=mid - 1;
    if(words[mid]==wordFind)
           {
          cout <<"The word"<<wordFind<<"was found"
          <<count<<"comparisons where made.";
           }
     
   else if(count == Size)
       {
          cout <<" The word"<<wordFind<<"was not found"
          <<count<<"comparisons where made";
       }
          count++;
     }
  }
int main()
{
 char filename[20];
 int choice;
 char wordFind[23];                                                                                 
 crunch pez;
          
            
  cout <<" Enter the name of a file to read from:";
  cin >>filename;
  pez.put(filename);

cout <<"1.Find words using linear search.\n";
cout <<"2.Finds words using binary search.\n";
cout <<"3.Quit";
cin >>choice;
   
  if (choice==1)
    {
 
   cout <<"Enter word you wish to search.";
   cin >> wordFind;
    pez.linearsearch(wordFind);
    }     
  if(choice==2)
     {
   cout <<"Enter word you wish to search.";
   cin >> wordFind; 
 pez.binarysearch(wordFind);
     }
  else if(choice==3)
     return 0;  
}

Last edited by shabbir; 25Apr2012 at 10:40.. Reason: Code blocks
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Please don't create the same thread more than once. Other thread deleted.