Dėl mokėjimo nežinau (parašyk email studijų direkcijai), bet dėl akademinių tai bent jau VGTU jas gali pasiimti ir dėl asmeninių priežaščių, nereik jokios pažymos.
Programa perskaito visus sakinius, bet dar failo pabaigos neaptiko. Tada bando paskutinį kartą, nieko neperskaito ir prieina failo pabaigą. Bet tu toliau vykdai tą ciklą ir atspausdini dar vieną tašką, nes sakinys, kurį bandei perskaityti, yra tuščias. Šitaip turėtum išvengti šios problemos:
while (getline(in, str, dot)) { // patikrina failo stream'o būseną iškart po perskaitymo
..
}
Jeigu nori sužinoti, kiek yra tarpų tarp dviejų žodžių, tai paprasčiausia būtų susikaičiuoti, kiek tarpų yra nuo pradžios iki kiekvienio žodžio. Pavyzdžiui, jei sakinys atrodo taip:
[kažkiek žodžių bei X tarpų] [žodis A] [kažkiek žodžių bei Y tarpų] [žodis B] [kažkiek žodžių ir bei Z tarpų]. Nesunku pastebėti, kad nuo pradžios iki žodžio A yra X tarpų, o nuo pradžios iki žodžio B yra X+Y tarpų. Kad rastum tarpų skaičių tarp žodžių A ir B telieka atimti iš tarpų skaičiaus iki žodžio B tarpų skaičių iki žodžio A (t.y. (X+Y) - X = Y).