alexey-malov / oop

Курс по ООП
35 stars 31 forks source link

Замечания по тестам программы RemoveExtraSpaces #73

Open alexey-malov opened 2 hours ago

alexey-malov commented 2 hours ago

По условию задачи программ должна обрабатывать все строки текста, а не только первую. Однако, эта программа проходит тесты.

int main() {
    std::string line;
    // Чтение входного потока построчно
    if (std::getline(std::cin, line)) {
        // Выводим строку с удаленными лишними пробелами
        std::cout << RemoveExtraSpaces(line) << std::endl;
    }
}
alexey-malov commented 2 hours ago

Имена файлов неправильных решений должны отражать характер имеющейся ошибки, а не просто "commented line".

alexey-malov commented 2 hours ago

Если заменить в эталонном решении инициализацию spaceEncountered с false на true, то все тесты пройдут. Нет ли в этом ошибки?

std::string RemoveExtraSpaces(std::string const& arg) {
    std::string result;
    bool inWord = false;  // Флаг, что мы находимся внутри слова
    bool spaceEncountered = true;  // Флаг, что встретился пробел

Кроме того, переменная inWord внутри цикла выставляется в true и больше не меняет своё значение. Выглядит так, будто эталонное решение можно написать оптимальнее