El punto era emular algo asi:
entrada:
holaaaa muuundooo
salida:
hol3a m2und2o
Logre hacer esto:
Código
El problema en el code radica en que utilizo un char para contar las veces y poder meterlo en la cadena sin problemas pero como en la tabla ascii solo existe espacio del 1 al 9 despues de esos sigue monstrando el caracter correspondiente en la tabla.
#include <iostream> using namespace std; int main() { char cadena[100],cadena_n[100], *aux = cadena-1; char veces('0'); int i(0); cout << "Cadena: "; cin.getline(cadena,100); while( *aux++ ) { if(*aux == *(aux+1) ) { veces++; if( *(aux+1) != *(aux+2) ) { cadena_n[i] = veces; i++; veces = '0'; } continue; } cadena_n[i] = *aux; i++; } cadena_n[i] = '\0'; cout << "\n\nCadena_n: " << cadena_n; cout << "\n\nCadena: " << cadena; setbuf(stdin, NULL); cin.get(); return 0; }
Me pregunto de que forma podria lograr meter el integer en la cadena?
Se me ocurre una forma de hacerlo pero es poco practico y muy engorroso. Pense en hacer uso de atoi y itoa pero no veo de q forma implementarlo correctamente para que me de el resultado q quiero. :/
Pues d q forma se podria hacer tambien? : )
un saludo y gracias!