En c++ dar vuelta una palabra cada n caracteres

Iniciado por isa, 14 Junio 2017, 21:04 PM

0 Miembros y 1 Visitante están viendo este tema.

isa

Hola:
En c++ tengo que dar vuelta cada n caracteres una palabra, osea por ejemplo cada n = 2, dar vuelta el string HOLA, me tiene que quedar OHAL
Escribí este código pero no está resultando y no me doy cuenta del error  :-(
Alguien me puede ayudar ?


Código (cpp) [Seleccionar]
string invertirBloque(string s,int k, int i){
int j = k - 1 + i;
while(j >= i){
s.push_back(s[j]);
j--;
}
return s;
}

string darVueltaK(string s, int k){
int l = s.size();
int i = 0;
while(i <= k - 1 + i && k - 1 + i < l){
s = invertirBloque(s, k, i)
;
i = i + k;
}
return s;
}