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

Rozdział 27 Problem ze zrozumieniem.

Ostatnio zmodyfikowano 2018-02-16 22:57
Autor Wiadomość
NiHuShu
Temat założony przez niniejszego użytkownika
Rozdział 27 Problem ze zrozumieniem.
» 2018-02-16 22:27:07
Mam problem. Nie do końca rozumiem dlaczego jak mamy
C/C++
do
{
    std::cout << "Fraza zostala odnaleziona na pozycji " << znalezionaPozycja << std::endl;
    if( znalezionaPozycja >= szukanaFraza.size() )
         znalezionaPozycja = tekst.rfind( szukanaFraza, znalezionaPozycja - szukanaFraza.size() );
    else
         znalezionaPozycja = std::string::npos;
   
} while( znalezionaPozycja != std::string::npos );

to do czego służy  if( znalezionaPozycja >= szukanaFraza.size() )
Wiem, że bez tego program nie znajdzie kolejnej frazy ale nie rozumiem jak to działa.
P-169456
YooSy
» 2018-02-16 22:56:55
Kartka papieru. Rozpisz sobie łańcuch na elementy tablicy i przeanalizuj co się dzieje przy szukaniu frazy.
Ten warunek zabezpiecza metodę rfind przed szukaniem poza tablicą, czyli przed wyjściem w ujemne wartości
indeksu pozycji startowej.
P-169457
pekfos
» 2018-02-16 22:57:07
Wynik tego tamtego odejmowania musi być nieujemny i to zapewnia ten warunek.
P-169458
« 1 »
  Strona 1 z 1