Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   23 HOURS WASTED! Due tonight need help (http://www.go4expert.com/forums/23-hours-wasted-due-tonight-help-t28261/)

crashcoder 25Apr2012 10:40

23 HOURS WASTED! Due tonight need help
 
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; 
}


shabbir 25Apr2012 10:46

Re: 23 HOURS WASTED! Due tonight need help
 
Please don't create the same thread more than once. Other thread deleted.


All times are GMT +5.5. The time now is 20:54.