#include <iostream>
#include <string>
void print_nth_word(std::istream& in, std::size_t nth){
std::string word;
std::size_t n{};
while(in >> word){
if(++n % nth == 0)
std::cout << word << '\n';
}
}
void print_nth_word(const std::string& s, std::size_t nth){
std::string word;
std::size_t n{};
for(auto it = s.begin(); it < s.end(); ++it){
while(it < s.end() && *it == ' ')
++it;
if(it == s.end())
return;
word.clear();
while(it < s.end() && *it != ' ')
word.push_back(*it++);
if(++n % nth == 0)
std::cout << word << '\n';
}
}
#include <sstream>
int main(){
std::string text = "Tell the truth, Nobody will do Anything.";
std::stringstream stream{text};
print_nth_word(text, 3);
print_nth_word(stream, 3);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKCnZvaWQgcHJpbnRfbnRoX3dvcmQoc3RkOjppc3RyZWFtJiBpbiwgc3RkOjpzaXplX3QgbnRoKXsKICAgIHN0ZDo6c3RyaW5nIHdvcmQ7CiAgICBzdGQ6OnNpemVfdCBue307CgogICAgd2hpbGUoaW4gPj4gd29yZCl7CiAgICAgICAgaWYoKytuICUgbnRoID09IDApCiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCB3b3JkIDw8ICdcbic7CiAgICB9Cn0KCgp2b2lkIHByaW50X250aF93b3JkKGNvbnN0IHN0ZDo6c3RyaW5nJiBzLCBzdGQ6OnNpemVfdCBudGgpewogICAgc3RkOjpzdHJpbmcgd29yZDsKICAgIHN0ZDo6c2l6ZV90IG57fTsKCiAgIGZvcihhdXRvIGl0ID0gcy5iZWdpbigpOyBpdCA8IHMuZW5kKCk7ICsraXQpewogICAgICAgIHdoaWxlKGl0IDwgcy5lbmQoKSAmJiAqaXQgPT0gJyAnKQogICAgICAgICAgICArK2l0OwoKICAgICAgICBpZihpdCA9PSBzLmVuZCgpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIHdvcmQuY2xlYXIoKTsKCiAgICAgICAgd2hpbGUoaXQgPCBzLmVuZCgpICYmICppdCAhPSAnICcpCiAgICAgICAgICAgIHdvcmQucHVzaF9iYWNrKCppdCsrKTsKCiAgICAgICAgaWYoKytuICUgbnRoID09IDApCiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCB3b3JkIDw8ICdcbic7CiAgICB9Cn0KCiNpbmNsdWRlIDxzc3RyZWFtPgoKaW50IG1haW4oKXsKICAgIHN0ZDo6c3RyaW5nIHRleHQgPSAiVGVsbCB0aGUgdHJ1dGgsIE5vYm9keSB3aWxsIGRvIEFueXRoaW5nLiI7CiAgICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW17dGV4dH07CgogICAgcHJpbnRfbnRoX3dvcmQodGV4dCwgMyk7CiAgICBwcmludF9udGhfd29yZChzdHJlYW0sIDMpOwp9Cg==