fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. void output_ws(std::ostream& _out, const std::string& s){
  5. const char delim[] = " \t\n?!.,";
  6. std::string::const_iterator i, j;
  7. std::string::size_type n, p = 0;
  8.  
  9. while((p = s.find_first_not_of(delim, p)) != std::string::npos){
  10.  
  11. if((n = s.find_first_of(delim, p)) == std::string::npos)
  12. n = s.length();
  13.  
  14. if(p != n){
  15. i = s.begin() + p;
  16. j = s.begin() + n;
  17. while((i != j) && (*i != '-'))
  18. ++i;
  19.  
  20. if((i != j) && (*i == '-')){
  21. for(i = s.begin() + p; i != j; ++i)
  22. _out << *i;
  23. _out << std::endl;
  24. }
  25. }
  26. p = n;
  27. }
  28. }
  29.  
  30. int main(void){
  31. std::string s = "Написать-функцию, которая-выводит на экран-строку, из слов, "\
  32. "разделенных-символами подчеркивания-вместо-пробелов. Помогите-пожалуйста";
  33. output_ws(std::cout, s);
  34. return 0;
  35. }
Success #stdin #stdout 0s 3464KB
stdin
Standard input is empty
stdout
Написать-функцию
которая-выводит
экран-строку
разделенных-символами
подчеркивания-вместо-пробелов
Помогите-пожалуйста