fork download
  1. #include <vector>
  2. #include <iostream>
  3. #include <string>
  4. #include <sstream>
  5. #include <utility>
  6. #include <cctype>
  7. #include <cstring>
  8.  
  9. int main()
  10. {
  11. std::string input;
  12. std::getline(std::cin, input);
  13. std::stringstream ss(input);
  14. std::vector<std::string> sorted;
  15.  
  16. while (ss >> input)
  17. {
  18. bool alpha = 0 < std::isalpha(input[0]);
  19. for (std::size_t i = 0, e = sorted.size(); i != e; ++i)
  20. {
  21.  
  22. if ((!std::isalpha(sorted[i][0]) == !alpha) && (alpha ? (input < sorted[i]) : (std::stoi(input) < std::stoi(sorted[i]))))
  23. std::swap(sorted[i], input);
  24. }
  25. sorted.push_back(std::move(input));
  26. }
  27. for (auto& i : sorted)
  28. std::cout << i << ' ';
  29. std::cin.get();
  30. }
Success #stdin #stdout 0s 3468KB
stdin
4 dog 1 -3 0 cat 3 
stdout
-3 cat 0 1 3 dog 4