Лишние пробелы C++ string
Есть задачка из eolymp.
*Лишние пропуски Дана строка. Напишите приложение, которое удалит из этой строки все лишние пробелы. Пробел будем считать лишним, если: он находится в начале строчки, до первого слова; он находится в конце строчки, после последнего слова; несколько пробелов расположены между двумя словами (проще говоря, если слова разделены более чем одним пробелом, тогда все пробелы, кроме одного - лишние).
Технические условия входные данные Дана строка S (0 ≤ | S | ≤ 255). Строка содержит только латинские буквы и пробелы. Пример входящих данных Alexandr Sergeevich Pushkin Пример исходных данных Alexandr Sergeevich Pushkin*
Вот мой код:
#include <iostream>
#include <string>
int main() {
setlocale(LC_ALL, "Ukrainian");
std::string str;
std::cout << "Введiть рядок: ";
std::getline(std::cin, str);
for (int i = 0; i < str.size(); i++) {
if (str[i] == ' ' && str[i + 1] == ' ') {
str.erase(i, 1);
i = i - 1;
}
}
if (str[0] == ' ') {
str.erase(0, 1);
}
std::cout << str << std::endl;
return 0;
}
Вывод в консоли работает как надо,ну по крайней мере то,что я проверял.Но вот eolymp засчитывает эту задачу на 0%. В чем может быть проблема этого кода?