Go Back   The UNIX and Linux Forums > Top Forums > High Level Programming
.
google site



High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 04-07-2005
Registered User
 

Join Date: Jan 2005
Location: Columbus, GA
Posts: 61
Compare Char to String

This is actually a c++ question...

Basically I am creating a program that asks for five characters. I have a dictionary file containing tons of words no long than five letters long, on a seperate line. I want to be able to take the five inputted letters and compare them to the words in the file so it may output words that may be created from the characters. I have done most of the grunt work: Setting up the interface, variables, and file stuff (streams), but I do not know how to compare the characters to the strings in the file.

Thanks for the help
-Robert

PS. If you need me to post my source code, just ask.
Sponsored Links
  #2 (permalink)  
Old 04-08-2005
Registered User
 

Join Date: Oct 2002
Location: /home
Posts: 134
let me make sure I understand the problem :
So, you have a file of english words. when the program starts it prompts the user to enter a char string of no longer than 5 elements, then the program will scan through the file to see if all the characters of user input match any of the words in the file; if so it will output all the matching(created) words.
Example : say your file file.dat contains

beer
apple
bread
read
dear
dare

and you enter as input : aerd

then your program will spit out the 3 words in the file : read, dear, dare since they match all chars in the input. Is that correct? Or should it match the whole word as is, that is, if you enter aerd, it will look necessarily for aerd?
  #3 (permalink)  
Old 04-08-2005
Registered User
 

Join Date: Jan 2005
Location: Columbus, GA
Posts: 61
Yes, absolutly how you thought, the letters will be scrambled - except I named my file dict.dat instead of file.dat, hehe. If you could help me with it, since you appear to understand what will happen, I will be most thankful!

-Robert
  #4 (permalink)  
Old 04-09-2005
Registered User
 

Join Date: Oct 2002
Location: /home
Posts: 134

Code:

# inlcude <string>
# include <cstring>

void print_matching_words(string) ;
bool compare(const string, const string) ;

int main( )
{
  // read contents of the file to an array large enough
  // to hold all words in file, say words[]
  
  cout << "enter a character string :" ;   // there should be no space between input char's
  cin >> input ;
  
  print_matching_words(input) ;
  return 0 ;
}

void print_matching_words(string input)
{
  int s_size strlen(input) ;
  
  for(int i=0; i<num_of_all_words; i++)   // for all words in file
    if(s_size == strlen(words[i])        // first figure out if size match
      if(compare(input, words[i]) )      // compare to see if both have same chars
        cout << words[i] << endl ;       // if so, we found it, print it out 
}

bool compare(const string input, const string word)
{
  string temp[strlen(input)] ;
  bool found = true ;
  strcpy(temp, word) ;   // copy word to temp one
  
  for(int i=0; found && i<strlen(input); i++)   // check all char's of input
    for(int k=0; k<strlen(input); k++)      // for all char's of compared word
    {  if(temp[k] && (input[i] == temp[k]) )   // if we found the char
       {  temp[k] = '\0' ;      // mark it off, so that we'll not encounter it again
          break ;             // break out of the loop
       }
       if(k == strlen(input) - 1)   // if we're at the end of temp and haven't found
         found = false ;          // the char in input yet, this word doesn't match
    }                             // we need to return false
  return found ;
}

This is what I came up with, you can change the variable names.
Sponsored Links
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
last char from a string broli Shell Programming and Scripting 6 12-07-2007 08:02 PM
md5 hash a string or char array in SCO jcarter2333 High Level Programming 5 02-08-2007 04:09 PM
replacing char with string phani_sree High Level Programming 1 11-20-2006 08:57 AM
string of 7 char length always... thanuman UNIX for Dummies Questions & Answers 3 04-12-2005 01:51 PM
Number of specific char in a string. gio123bg Shell Programming and Scripting 7 12-19-2003 02:27 PM



All times are GMT -4. The time now is 10:00 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0