Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <iterator>
- std::vector<std::string> splitInput(const std::string &line);
- std::vector<std::string> extractCorrectValues(const std::vector<std::string> &results);
- std::string getString(const std::vector<std::string> &values);
- int main() {
- std::string line;
- std::getline(std::cin, line);
- std::vector<std::string> results = splitInput(line);
- std::vector<std::string> correctResults = extractCorrectValues(results);
- std::string toPrint = getString(correctResults);
- std::cout << toPrint << std::endl;
- return 0;
- }
- std::string getString(const std::vector<std::string> &values) {
- std::string toReturn = "";
- for (const auto &value : values) {
- if (value.length() > toReturn.length()) {
- toReturn = value;
- } else if (value.length() == toReturn.length()) {
- char fChar = value.at(0);
- char sChar = toReturn.at(0);
- if (fChar < sChar) {
- toReturn = value;
- }
- }
- }
- if (toReturn.empty()) {
- toReturn = "no noise";
- }
- return toReturn;
- }
- std::vector<std::string> extractCorrectValues(const std::vector<std::string> &results) {
- std::vector<std::string> correctValues;
- for (const auto ¤tString : results) {
- std::string extractedString = "";
- for (char j : currentString) {
- if (!isdigit(j)) {
- extractedString += j;
- }
- }
- if (!extractedString.empty()) {
- correctValues.push_back(extractedString);
- }
- }
- return correctValues;
- }
- std::vector<std::string> splitInput(const std::string &line) {
- std::istringstream iss(line);
- std::vector<std::string> results(std::istream_iterator<std::string>{iss}, std::istream_iterator<std::string>());
- return results;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement