Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Помогите найти ошибку в коде

Код нужен для конвертации букв в цифры и обратно, но проблема в том, что буквы в цифры он конвертирует а на оборот не может

По дате
По рейтингу

Конечно, я помогу вам найти ошибку. Судя по описанию изображения, проблема заключается в функции digitsToWords, которая не корректно конвертирует цифры обратно в буквы. Возможно, логика этой конверсии неполная или некорректная. Строка currentDigit должна использоваться для поиска соответствующего символа в словаре, но вместо этого она добавляется к символам из входной строки.

Вот исправленный вариант функции digitsToWords:

12345678910111213
 std::string digitsToWords(std::string digits) { 
    std::string result = ""; 
    for (char& digit : digits) { 
        if (digitToChar.find(digit - '0') != digitToChar.end()) { 
            result += digitToChar[digit - '0']; 
        } else { 
            // Обработка ошибки, если цифра не найдена 
            std::cerr << "Ошибка: Неверная цифра " << digit << std::endl; 
            return ""; 
        } 
    } 
    return result; 
}  

Убедитесь, что в вашем словаре digitToChar есть все необходимые соответствия между цифрами и буквами. Если проблема сохранится, пожалуйста, предоставьте больше информации о вашем коде или полный код, чтобы я мог дать более точные рекомендации.