C/C++

Правильно ли решил задание? Решение задания на тему вектор по С++.

Яндекс практикум, текущий курс: Основы C++, Урок3 из 5. Тема 3 - Вектор.
Урок 3: Новый for и добавление элементов в конец
Задание 1
Доработайте разбиение строки на слова. Сложите слова в вектор строк words, а затем выведите его содержимое в формате:

for (string word : words) {
cout << '[' << word << ']' << endl;
}

Серега 100К
Серега 100К
118
Артур Серёгин
Артур Серёгин
25 445
Лучший ответ
Артур Серёгин хотя с дефисом я поторопился. лучше убрать проверку на дефис и не считать его частью слова.
https://onlinegdb.com/S1yupknmv
#include < iostream >
#include < sstream >
#include < string >
#include < algorithm >
#include < iterator >
#include < vector >

using namespace std;

int main( )
{
string query;
getline( cin, query );
vector< string > words;

istringstream istr( query ) ;
copy(istream_iterator< string >(istr), istream_iterator< string > ( ),back_inserter(words) ) ;

for(const string& s : words) cout << "[" << s << "]" << endl;
return 0;
}
Вова Егоро
Вова Егоро
84 349
#include < iostream >
#include < string >
#include < vector >

using namespace std;

int main() {
string query;
getline(cin, query);

vector words;
string word;
for (int i = 0; i < query.size(); ++i) {
if (query[i] == ' ') {
words.push_back(word);
word = ""s;
} else {
word += query[i];
}
}
words.push_back(word);

for (string word : words) {
cout << '[' << word << ']' << endl;
}
}
#include <iostream>
#include <string>
// не забудьте подключить библиотеку <vector>
#include <vector>
using namespace std;

int main() {
// Объявите переменную-вектор, которая будет хранить слова.
// Назовите её words.
vector<string> words;
string query;
getline(cin, query);

string word;

// Мы заменили обычный for на range-based.
for (char c : query) {
if (c == ' ') {
// Удалите вывод в cout и замените его на добавление элемента в вектор.

words.push_back(word);
word = ""s;
} else {
word += c;
}
}
words.push_back(word);
for (string word : words) {
cout << '[' << word << ']' << endl;
}
// Сюда вставьте вывод элементов вектора.
}
#include <iostream>
#include <string>
#include<vector>

using namespace std;

int main() {

vector<string> words;
string query;
getline(cin, query);
string word;


for (char c : query) {
if (c == ' ') {

words.push_back(word);
word = ""s;
} else {
word += c;
}
}

words.push_back(word);

for (string word : words) {
cout << '[' << word << ']' << endl;
}
}