• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program zliczający stringi zawierjące się w innych stringach

VPS Starter Arubacloud
+1 głos
216 wizyt
pytanie zadane 17 maja 2016 w C i C++ przez RycerzAndromedy Użytkownik (670 p.)
edycja 17 maja 2016 przez RycerzAndromedy

siemanko

Treść zadania brzmi:

Podaj, ile par słów (A, B) zapisanych w pojedynczych wierszach pliku o nazwie
dane.txt, ma tę właściwość, że słowo B jest zawarte wewnątrz słowa A.

Program się kompiluje, niestety wynik jest zły. Niektóre wyniki dostaję kilka razy, a niektóre chyba pomija, bo wynik powinien być 35.

 

Oto kawał kodu:

    while (wejscie >> a >> b)
    {


// B
        for (i=0; i<=a.size()-b.size(); i++)
        {
            if (a[i]==b[0])
            {
                bool flaga3=true;
                for (j=1; j<b.size(); j++)
                {
                    if (a[j]!=b[j])
                    {
                        flaga3=false;
                        break;
                    }
                }
                if (flaga3)
                    licznik++;


            }
            j=0;
        }

    }

    cout << licznik;

EDIT:

przykładowe wejście:

11111010 1101        - string a (z lewej) zawiera w sobie b (z prawej) 

10101010  000       - string a nie zawiera w sobie b

wyjście:   1  

(1  - bo jedna z dwóch par spełnia warunek)

komentarz 17 maja 2016 przez Lafoniz Gaduła (4,370 p.)
Podanie przykładowego wejścia i wyjścia dla danych byłoby bardzo pomocne.

1 odpowiedź

+2 głosów
odpowiedź 17 maja 2016 przez criss Mędrzec (172,590 p.)

Troche mi sie nie chce analizować tego co napisałeś, ale da się prościej:

if(a.find(b) != std::string::npos) licznik++;

 

Podobne pytania

0 głosów
3 odpowiedzi 417 wizyt
pytanie zadane 9 marca 2019 w C i C++ przez Ender_ Początkujący (370 p.)
0 głosów
1 odpowiedź 168 wizyt
pytanie zadane 16 maja 2016 w C i C++ przez RycerzAndromedy Użytkownik (670 p.)
+3 głosów
1 odpowiedź 238 wizyt
pytanie zadane 5 listopada 2022 w Offtop przez VBService Ekspert (255,800 p.)

92,980 zapytań

141,943 odpowiedzi

321,189 komentarzy

62,307 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...