026
26.09.2003, 14:25 Uhr
virtual
Sexiest Bit alive (Operator)
|
C++: |
#include <iostream> #include <fstream> #include <string> #include <list> #include <iterator> #include <cctype> #include <algorithm>
#define DICFILE "dictionary"
bool checkMatch( const std::string& muster, std::string wort) { std::string s = muster;
std::transform(s.begin(), s.end(), s.begin(), (int(*)(int)) tolower);
std::sort(wort.begin(), wort.end());
for(std::string::size_type i=0; i<muster.length(); ++i) //<--Tipfeeler korrigiert { std::string::size_type j; if (std::string::npos==(j=wort.find(s[ i ])) && std::string::npos==(j=wort.find(toupper(s[ i ])))) { } wort.erase(j, 1); } return true; }
int main(int argc, char** argv) { if(argc > 2) // Hilfe ausgeben { }
std::cout << "Geben Sie das Musterwort ein: "; std::string input; std::cin >> input;
std::transform(input.begin(), input.end(), (int(*)(int)) tolower); std::sort(input.begin(), input.end());
std::ifstream dic(DICFILE); std::list<std::string> wordlist; std::copy(std::istream_iterator<std::string>(dic), std::istream_iterator<std::string>(), std::back_inserter(wordlist)); for(std::list<std::string>::iterator itr = wordlist.begin(); itr != wordlist.end(); ++itr) { if (checkMatch( *itr, input)) { std::cout<<(*itr)<<std::endl; } } }
|
Hm. fast Fertig. Nur ein statement noch... -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |