Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyszukiwanie binarne słów

Ostatnio zmodyfikowano 2016-01-09 14:59
Autor Wiadomość
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.
P-143155
michal11
» 2016-01-09 09:16:43
Dokładnie tak samo jak z liczbami tylko musisz mieć odpowiedni operator porównywania słów.
P-143161
j23
» 2016-01-09 10:38:25
Wczytać słowa do std::vector<std::string> i do wyszukiwania użyć std::lower_bound.
P-143169
te.ko
Temat założony przez niniejszego użytkownika
» 2016-01-09 11:58:19
C/C++
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;

int main() {
    string slowa = "piotrek kasia zosia ala ewa jan kuba"; //to co chcemy przeszukać
    vector < string > slowa2;
   
    fstream plik;
    plik.open( "slowa.txt", ios::in ); //plik z lista slow - imion
   
    if( !plik ) {
        cout << "Plik nie zostal otwarty" << endl;
        return 1;
    }
   
    lover_bound( slowa2.begin(), slowa2.end(), plik );
   
    return 0;
}

cos takiego?
P-143173
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ć?
P-143180
te.ko
Temat założony przez niniejszego użytkownika
» 2016-01-09 14:59:19
C/C++
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;

int main() {
    string slowa = "piotrek kasia zosia ala ewa jan kuba"; //to co chcemy przeszukać
    vector < string > slowa2( slowa.size(), slowa );
   
   
    fstream plik;
    plik.open( "slowa.txt", ios::in ); //plik z lista slow - imion
   
    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,
P-143181
« 1 »
  Strona 1 z 1