Даны две строки символов, состоящих из цифр, букв и пробелов. Группу символов, не содержащих пробелов внутри себя, будем называть словами. Составить программу переформирования строк так, чтобы в первой строке располагались слова, начинающиеся с цифр, в порядке их возрастания, а во второй – слова, начинающиеся с букв, в алфавитном порядке.Перевести из PASCAL в С++ begin var s1:=ReadlnString('Строка 1:'); var s2:=ReadlnString('Строка 2:'); var s:=(s1+' '+s2).ToWords; s1:=s.Where(t->t[1] in ['0'..'9']).OrderBy(t->t).JoinIntoString; s1.Println; s2:=s.Where(t->not(t[1] in ['0'..'9'])).OrderBy(t->t).JoinIntoString; s2.Println end.
int main {
std::cout << "Enter the second string: ";std::string s1, s2;
std::cout << "Enter the first string: ";
std::getlinestd::cin,s1std::cin, s1std::cin,s1;
std::getlinestd::cin,s2std::cin, s2std::cin,s2;
std::string combined = s1 + " " + s2;
std::vector<std::string> words;
std::string word = "";
for charc:combinedchar c : combinedcharc:combined {
if (c != ' ') {
word += c;
} else {
words.push_backwordwordword;
word = "";
}
}
words.push_backwordwordword;
std::vector<std::string> numbers;
std::vector<std::string> letters;
for (const std::string& w : words) {
if std::isdigit(w[0])std::isdigit(w[0])std::isdigit(w[0]) {
numbers.push_backwww;
} else {
letters.push_backwww;
}
}
std::sortnumbers.begin(),numbers.end()numbers.begin(), numbers.end()numbers.begin(),numbers.end();
std::sortletters.begin(),letters.end()letters.begin(), letters.end()letters.begin(),letters.end();
for (const std::string& n : numbers) {
std::cout << n << " ";
}
std::cout << std::endl;
for (const std::string& l : letters) {
std::cout << l << " ";
}
std::cout << std::endl;
return 0;
}