Даны две строки символов, состоящих из цифр, букв и пробелов. Группу символов, не содержащих пробелов внутри себя, будем называть словами. Составить программу переформирования строк так, чтобы в первой строке располагались слова, начинающиеся с цифр, в порядке их возрастания, а во второй – слова, начинающиеся с букв, в алфавитном порядке.Перевести из 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.

4 Окт 2019 в 12:46
157 +1
0
Ответы
1
include include include include

int main {
std::string s1, s2;
std::cout << "Enter the first string: ";
std::getlinestd::cin,s1std::cin, s1std::cin,s1;

std::cout << "Enter the second string: ";
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;

}

19 Апр 2024 в 14:45
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир