Codigo VB 6.0:
Código
Dim StrCadena As String Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Form_Load() StrCadena = "1" List1.AddItem "1" End Sub Private Sub Timer1_Timer() Dim i As Integer Dim IntCont As Integer: IntCont = 0 Dim ChrNum As String Dim StrAux As String: StrAux = "" ChrNum = Mid(StrCadena, 1, 1) For i = 1 To Len(StrCadena) If ChrNum = Mid(StrCadena, i, 1) Then IntCont = IntCont + 1 Else StrAux = StrAux + CStr(IntCont) + ChrNum IntCont = 1 ChrNum = Mid(StrCadena, i, 1) End If Next i StrCadena = StrAux + CStr(IntCont) + ChrNum List1.AddItem StrCadena List1.Selected(List1.ListCount - 1) = True List1.Selected(List1.ListCount - 1) = False End Sub
El código que llevo hecho en c++:
Código
#include <string> #include <iostream> using namespace std; string IntToStr(int numero) { stringstream cvz; cvz << numero; return cvz.str(); } int main(void) { int i=0; int IntCont = 0; char ChrNum; string StrCadena ="1"; string StrAux = ""; ChrNum = StrCadena[i]; for (;;) { for (i=1; i <= StrCadena.size() ;i++) { if (ChrNum == char(StrCadena[i])) { IntCont++; } else { StrAux += IntToStr(IntCont) + ChrNum; ChrNum = StrCadena[i]; IntCont = 1; } } StrCadena = StrAux + IntToStr(IntCont) + ChrNum; cout << StrCadena << endl; }; return 0; }
Salida de $ g++ -o a a.cpp:
Citar
a.cpp: En la función ‘std::string IntToStr(int)’:
a.cpp:8:16: error: el agregado ‘std::stringstream cvz’ tiene un tipo incompleto y no se puede definir
a.cpp:8:16: error: el agregado ‘std::stringstream cvz’ tiene un tipo incompleto y no se puede definir
desde ya gracias por su tiempo