C/C++

Помогите ! с++

Условие
Дана строка, требуется вывести её слова в столбик. Словами считаются наборы символов, разделенные пробелами. То есть знаки препинания могут считаться частью слова.
Формат входных данных
Строка, длиной менее 255 символов
Формат выходных данных
Набор строк, состоящий из слов входной строки
входные данные
I love rock and roll
выходные данные
I
love
rock
and
roll
Пример кода на C++:

#include <iostream>
#include <string>

using namespace std;

int main() {
string s;
getline(cin, s); // вводим строку с пробелами
string word = "";
for (char c : s) { // перебираем символы строки
if (c == ' ') { // если символ - пробел, выводим слово
cout << word << endl;
word = "";
}
else {
word += c; // добавляем символы к текущему слову
}
}
cout << word << endl; // выводим последнее слово
return 0;
}
Александр Тихонычев
Александр Тихонычев
6 445
Лучший ответ
#include <iostream>
#include <string>
#include <sstream>

int main() {
std::string input;
std::getline(std::cin, input);

std::istringstream iss(input);
std::string word;

while (iss >> word) {
std::cout << word << std::endl;
}

return 0;
}
Как работает код:

std::getline(std::cin, input) считывает строку из входного потока и сохраняет ее в переменную input.
std::istringstream iss(input) создает объект iss типа std::istringstream, который используется для чтения слов из input.
std::string word создает переменную word, которая используется для хранения каждого слова.
iss >> word читает следующее слово из iss и сохраняет его в переменную word. Цикл продолжается, пока iss не достигнет конца строки или не произойдет ошибка ввода/вывода.
std::cout << word << std::endl выводит слово в столбик, добавляя символ перевода строки std::endl в конце каждой строки.
Надеюсь, это поможет вам решить вашу задачу!
КЛ
Крит Легенда
19 655
 #include  
#include

using namespace std;

int main() {
string input;
getline(cin, input); // read the input string

for (int i = 0; i < input.length(); i++) {
if (input[i] == ' ') { // if we encounter a space, print the word
cout