Cómo comprimir cadenas en lenguaje C
Por cierto, la matriz B no debe ser un número entero, de lo contrario las letras no se podrán guardar. A continuación se muestra mi código. . .
#include?lt;iostreamgt;
#include?lt;string.hgt;
#include?lt;stdio.hgt;
usando?namespace?std;
void?yasuo(char?a[], char?b[])
{
int?count =1, p=0;
for(int?i=0;?ilt;strlen(a);?i)
if(a[i]==a[ i 1])
cuenta ;
else?if(cuentagt; 2)
{
b[p ]=(char )(cuenta '0');
b[p ]=a[i];
cuenta=1;
}
else?if(cuenta==2)
{
b[p ]=a[i];
b[p ]=a[i ];
count=1;
}
else
b[p ]=a[i];
}
void?printB(char?b[])
{
coutlt;lt;blt;lt;endl;
}
void?backB(char?b[])
{
for(int?i=0;?ilt;strlen(b );?i )
if(b[i]lt;='9'amp;amp;b[i]gt;='3')
{
for(int?j=0;?jlt;(int)(b[i]-'0');?j )
coutlt;lt;b[i 1];
i;
}
else
coutlt;lt;b[i];
coutlt;lt ;endl;
}
int?main()
{
char?a[1000]=?{0}, b[1000]=?{0};
obtiene(a);
yasuo(a, b);
imprimirB(b); p>
p>
volverB(b);
}