Лишние пробелы 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%. В чем может быть проблема этого кода?


Ответы (0 шт):