Jak porównać powtarzajace sie wyrazy w string tak aby ich juz nie wypisywać

0

Dlaczego przeskakuje z ostatniego wyrazu stringa na pierwszy? Da się jakoś to ominąć?

istringstream word(line);
        string words;
        int i=0;
            do
            {
                word >> words;
                i++;
            }
            while(i<n);
0

Jak przeskakuje? Dlaczego words i word są zamienione nazwami?

0
kq napisał(a):

Jak przeskakuje? Dlaczego words i word są zamienione nazwami?

A to tak na szybko nazwałem. Zaraz to się zmieni.
Chodzi o to, że:

  1. Mam linie " Ala ma"
  2. Jeśli dam n=3 (While(i<n), a linia jest 2 wyrazowa to wypisze mi pierwszy wyraz.
  3. Chciałbym aby nie wypisywało mi tego pierwszego wyrazu, a np pusty wiersz
0

"na szybko" miałeś już tydzień temu: https://4programmers.net/Forum/Newbie/298528-string_wstawianie_spacji_gdy_brakuje_n_tego_wyrazu_w_lini?p=1413026#id1413026

W sumie nie wiem jakie powinno być zachowanie istringstream w tym przypadku, ale rozwiązanie twojego problemu jest proste: sprawdzaj czy wynik operatora>> ewaluuje się jako true.

1 użytkowników online, w tym zalogowanych: 0, gości: 1