Wyszukiwanie binarne słów
Ostatnio zmodyfikowano 2016-01-09 14:59
te.ko Temat założony przez niniejszego użytkownika |
Wyszukiwanie binarne słów » 2016-01-09 01:48:03 Hej. Zastanawia mnie problem, jak napisac program, który wyszukuje binarnie słowa. Tzn. mamy plik z ulozonymi alfabetycznie slowami i chcemy sprawdzić, czy w naszym ciągu słów znajduje się któreś słowo z tego pliku. Jak się do tego zabrać?
p.s. wiem, jak działa to z liczbami, ale nie mam pojęcia jak zabrac sie do tego ze słowami. |
|
michal11 |
» 2016-01-09 09:16:43 Dokładnie tak samo jak z liczbami tylko musisz mieć odpowiedni operator porównywania słów. |
|
j23 |
» 2016-01-09 10:38:25 Wczytać słowa do std::vector<std::string> i do wyszukiwania użyć std::lower_bound. |
|
te.ko Temat założony przez niniejszego użytkownika |
» 2016-01-09 11:58:19 #include <iostream> #include <string> #include <fstream> #include <vector> using namespace std;
int main() { string slowa = "piotrek kasia zosia ala ewa jan kuba"; vector < string > slowa2; fstream plik; plik.open( "slowa.txt", ios::in ); if( !plik ) { cout << "Plik nie zostal otwarty" << endl; return 1; } lover_bound( slowa2.begin(), slowa2.end(), plik ); return 0; }
cos takiego? |
|
j23 |
» 2016-01-09 14:46:08 A gdzie wczytujesz słowa z pliku do slowa2? Co robi plik w trzecim argumencie funkcji lover_bound? Ma to jakiś głębszy sens, czy po prostu dałeś jakąś zmienną, bo trzeba było coś tam dać? |
|
te.ko Temat założony przez niniejszego użytkownika |
» 2016-01-09 14:59:19 #include <iostream> #include <string> #include <fstream> #include <vector> using namespace std;
int main() { string slowa = "piotrek kasia zosia ala ewa jan kuba"; vector < string > slowa2( slowa.size(), slowa ); fstream plik; plik.open( "slowa.txt", ios::in ); if( !plik ) { cout << "Plik nie zostal otwarty" << endl; return 1; } lower_bound( slowa2.begin(), slowa2.end(),(...) ); return 0; }
poprawiłem to wczytywanie do wektora, czy tak jest dobrze? i właściwie nie wiem co powinno byc w tym trzecim miejscu tej funkcji, |
|
« 1 » |