SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Zirrosis en Domingo 6 de Mayo de 2007, 20:15
-
Bueno, quiero hacer un metodo de compresion en VB el cual haga lo siguiente:
De una cadena de X valores, mirar los elementos que mas se repiten uno al lado de otros y substituirlos por el valor de repeticiones y solamente un caracter de esos repetidos.
Supongamos que tengo esto:
cadena = 1758955555557894235461231
quiero que me quede este resultado:
17589,7x5,7894235461231
Evidentemente, si solo se repite 2 veces no preciso que se haga esa substitucion, ya que ocupa mas el modo comprimido que sin comprimir...xDD
Bueno, solamente es eso, se les ocurre algun metodo para poder hacerlo???
Un Saludo.
-
Creas una nueva cadena vacía.-
Vas recorriendo la cadena desde el principio caracter por caracter e incrementando un contador si el último caracter leído es igual al anterior hasta que esto sea falso, momento en el cual tendrás en la variable contador la cantidad de veces que se a repetido el caracter y si es mayor al mínimo considerado por vos, formás el código y lo concatenás a la nueva cadena si no, concatenas el caracter que estabas evaluando n veces (Siendo n el valor del contador). Y seguís haciendo eso hasta el final.
Jeje, difícil de explicar pero fácil de hacer.-
Por otra parte, si el algoritmo es para aplicarlo en algún caso puntual donde estas repeticiones son muy frecuentes puede ser buena idea, de lo contrario deberías usar otro método.-
Un saludo.-
-
Sep, es justo como lo habia pensado, creia que habia otra solucion....voy a ver si los consigo y luego pego el codigo... :) :)
Muchas gracias.... ;) ;)