Zastąpienie znaku w stringu poprzednim znakiem

0

Witam mam problem bo mam pętle w której chce sprawdzić w if czy dany wyraz równa się liczbie 2 jeżeli tak to w miejsce tego znaku powinien być wpisany znak z poprzedniego miejsca. Ale kod mi nie działa.

for ( int m = 0 ; m < koncowy_ciag.size() ; ++m)
        {
            std::cout << "Tak jest w for" << std::endl;
            if ( koncowy_ciag[m] == '2' )
            {
                std::cout << "Tak jest w if" << std::endl;
                koncowy_ciag.erase( koncowy_ciag.begin() + m );
                koncowy_ciag += koncowy_ciag[m-1];
            }
        } 
0
koncowy_ciag += koncowy_ciag[m-1]; 

Tutaj dodajesz na koniec stringa koncowy_ciag znak spod indeksu m - 1.

0

jeżeli tak to w miejsce tego znaku powinien być wpisany znak z poprzedniego miejsca

czyli powtorzy sie dwa razy ten sam znak? Troche bez sensu ale ok

if ( koncowy_ciag[m] == '2' )
{
  koncowy_ciag.replace(m, 1, m-1);
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1