Witam, rozwiązuje właśnie zadanie ze SPOJa, i natknąłem się na problem, mianowicie chcę zastąpić literę z napisu na cyfrę która jest zapisana w int'cie. Wyskakuje mi błąd ponieważ, (jak się domyślam) można tę literę zastąpić tylko przez liczbę wpisaną w cudzysłów. Czy można to jakoś ominąć? Czy może powinienem użyć jakiejś innej komendy?
Link do zadania: http://pl.spoj.com/problems/FLAMASTE/
Jeśli będziecie testować program to pamiętajcie, że najpierw trzeba podać liczbę testów, a dopiero potem napis!
Oto kod źródłowy:
#include <iostream>
using namespace std;
int t, dlugosc;
string napis;
int main()
{
cin>>t;
for(int i=0; i<t; i++)
{
cin>>napis;
dlugosc=napis.length();
if(dlugosc>2)
{
napis.erase(2,(dlugosc-2));
napis.replace(1,(dlugosc-2),TUTAJ CHCE WSTAWIC LICZBE ZE ZMIENNEJ dlugosc);
}
cout<<napis;
}
return 0;
}