Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Удвоить каждое вхождение символа


Автор: annasei 6.3.2017, 01:25
 Дана строка S и символ C. Удвоить каждое вхождение символа C в строку S.
Помогите плиз написать программу с помощью функций. smile 

Автор: azesmcar 28.3.2017, 13:20
вообще это в центр помощи (на будущее)
вот простенький вариант.
Код

std::string duplicate_char(const std::string& s, char c)
{
    std::string result;

    for (std::string::const_iterator it = s.begin(); it != s.end(); ++it)
    {
        if (*it == c)
        {
            result.insert(result.end(), 2, c);
        } else
        {
            result.push_back(*it);
        }
    }

    return result;
}

или вот так
Код

std::string duplicate_char(const std::string& s, char c)
{
    std::string result;

    for (std::string::const_iterator it = s.begin(); it != s.end(); ++it)
    {
        const int repeat = *it == c ? 2 : 1;
        result.insert(result.end(), repeat, *it);
    }

    return result;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)