SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Zirrosis en Domingo 6 de Mayo de 2007, 20:15

Título: Elementos Mas Repetidos
Publicado 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.
Título: Re: Elementos Mas Repetidos
Publicado por: Mollense en Domingo 6 de Mayo de 2007, 20:52
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.-
Título: Re: Elementos Mas Repetidos
Publicado por: Zirrosis en Domingo 6 de Mayo de 2007, 21:11
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.... ;)  ;)