Условие
Дана строка, требуется вывести её слова в столбик. Словами считаются наборы символов, разделенные пробелами. То есть знаки препинания могут считаться частью слова.
Формат входных данных
Строка, длиной менее 255 символов
Формат выходных данных
Набор строк, состоящий из слов входной строки
входные данные
I love rock and roll
выходные данные
I
love
rock
and
roll
C/C++
Помогите ! с++
Пример кода на 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;
}
#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;
}
#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 в конце каждой строки.
Надеюсь, это поможет вам решить вашу задачу!
#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 в конце каждой строки.
Надеюсь, это поможет вам решить вашу задачу!
#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
Похожие вопросы
- Помогите с кодом C++
- Помогите понять формулу из книги Д. Кнута
- Помогите решить лабораторную c++
- Помогите с кодом с++
- Помогите новичку с программированием и матрицами C++
- Помогите с заданием по программированию язык C(не С++)
- Помогите дописать код с массивом
- Помогите дописать код с массивом?
- Помоги пожалуйста с программой в С++
- Помогите написать программу на С