Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/11/2014, 10:57
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Crear programa que use el método RLE

Hola,



Cita:
Iniciado por Frnxu Ver Mensaje
... Realizar un programa que lea una secuencia de números naturales terminada con un número negativo y la codifique mediante el método RLE.
Por ejemplo:
Entrada: 1 1 1 2 3 3 4 5 5 5 6 -1
Salida: 3 1 1 2 2 3 1 4 3 5 1 6


El problema de esta aproximación es que no trabaja del todo bien ...
Esa aproximación inicial tenía pequeños detalles que hacían que no funcionara exactamente igual a los requerimientos, como por ejemplo, imprimía el -1 en la salida, cosa que no aparece en el ejemplo.

Cita:
Iniciado por Frnxu Ver Mensaje
Lamentablemente creo que no...
A ver, lo que necesito es, suponiendo que se mete por teclado esto:
1 1 1 2 3 3 4 5 5 5 6 -1

Al final (cuando se ponga -1) salga por pantalla cuántas veces se ha escrito cada número, es decir:
3(tres veces )1, 1(una vez)2, 2(dos veces)3, 1(una vez)4, 3(tres veces)5, 1(una vez)6.
Ahora comprendo tu problema, no es que tu código no funcione, solamente tenía pequeños errores que fácilmente podías arreglar. Ni muchos menos que no exista una solución, en mi propuesta la salida es exactamente lo que indicas en ese enunciado, contar la cantidad de veces que aparece cada número consecutivamente.

Pero ahora comprendo bien que es lo que sucede, es que no has comprendido bien el problema, seguramente no te tomaste la molestia en leer la documentación del formato RLE (Run-length encoding), que es un formato propietario de Microsoft creado hace muchos, muchos años, para comprimir las imágenes en BMP. Posteriormente fue utilizado en otros programas para comprimir vídeo, etc., hasta que se salieron otros formatos como JPG, MPEG, Intel Indeo y otros que demostraron que este formato de compresión era ineficiente.

https://en.wikipedia.org/wiki/Run-length_encoding

Así que solamente puedo llegar a la conclusión que no tienes ni idea de lo que tenías que hacer, puesto que claramente mencionaste RLE, y contar la cantidad de veces que aparece un elemento consecutivamente, que es la idea detrás de RLE.

Cita:
Iniciado por Frnxu Ver Mensaje
... Así que optaré por las versiones que me habéis dado, ...
Pues que te diré, supongo que en la facultad lo van a tomar como correcto, puesto que es la implementación de RLE, aunque tu todavía no tengas ni idea que significa.

Saludos,

Última edición por HackmanC; 02/11/2014 a las 11:27 Razón: agregar formatos