Перепишите пять слов, разделенных пробелами, и сформируйте строку из их первых символов без пробелов. Собирайте символы

  • 46
Перепишите пять слов, разделенных пробелами, и сформируйте строку из их первых символов без пробелов. Собирайте символы в строку или сразу выводите их. Используйте библиотеки #include #include. Примеры Ввода: car bar tar green parrot. Примеры Вывода: cbtgp a s d f g asdfg.
Медвежонок_923
52
Хорошо, давайте решим данную задачу шаг за шагом.

1. Создадим переменную типа std::string, в которую будем собирать символы слов:

cpp
std::string result;


2. Считаем входную строку с помощью std::getline() и сохраняем её в переменную input:

cpp
std::string input;
std::getline(std::cin, input);


3. Определим позицию пробела в строке, чтобы разделить её на отдельные слова. Для этого создадим переменную `pos`, которая будет инициализирована значением 0:

cpp
size_t pos = 0;


4. Создадим цикл while, который будет итерироваться до тех пор, пока не найдутся все пробелы:

cpp
while ((pos = input.find(" ")) != std::string::npos) {


5. Внутри цикла получим первый символ слова и добавим его в переменную result:

cpp
char first_char = input[0];
result += first_char;


6. Удалим найденное слово и пробел из входной строки:

cpp
input.erase(0, pos + 1);


7. Завершим цикл.

8. Добавим в строку result последний символ входной строки после последнего слова:

cpp
result += input[0];


9. Задача решена, можно вывести результат:

cpp
std::cout << result;


Итоговый код будет выглядеть следующим образом:

cpp
#include
#include

int main() {
std::string result;
std::string input;
std::getline(std::cin, input);
size_t pos = 0;
while ((pos = input.find(" ")) != std::string::npos) {
char first_char = input[0];
result += first_char;
input.erase(0, pos + 1);
}
result += input[0];
std::cout << result;

return 0;
}


Надеюсь, данное пошаговое решение поможет вам понять, как достичь нужного результата. Если у вас возникнут вопросы, не стесняйтесь задавать их.