elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  COMPRESOR LZ78
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: COMPRESOR LZ78  (Leído 460 veces)
iretchai

Desconectado Desconectado

Mensajes: 1


Ver Perfil
COMPRESOR LZ78
« en: 7 Noviembre 2020, 14:49 »

Hola buenas!
Necesito ayuda con el algoritmo de un programa (en C++) que tiene que hacer lo siguiente:

Un programa que, en primer lugar, lea de la entrada estándar (cin) una cadena
de caracteres, formada por aes y bes únicamente, y escriba en la salida estándar (cout) el
resultado de comprimirla conforme al algoritmo LZ78; esto es, una secuencia de números
enteros y caracteres (a, b) alternados.

Ejemplos de ejecución:
CIN    >> ababbabaaabaaabba
COUT << 0a0b1b2a4a3a1a2b1

El esquema que he pensado es el siguiente:

Hacer que el cursor señale al primer carácter de la cadena de entrada
inicializar el diccionario con la palabra vacía: w(0) = "" y npal = 1

Mientras quedan caracteres por tratar (el cursor señala a un carácter)

-- buscar la palabra w(i) más larga del diccionario que coincide con los
    primeros caracteres de la cadena a partir del señalado por el cursor

-- escribir en la salida el entero i

-- si quedan caracteres por tratar,
     -- sea c el carácter señalado por el cursor
     -- escribir en la salida el carácter c
     -- añadir al diccionario la palabra w(npal) = w(i)c
     -- npal = npal+1

NOTAS: El diccionario es un array bidimensional dicc [100] [100], para simular un array unidimensional de palabras.
            Se incluye la biblioteca <cstring> y hay que usar las funciones: strstr, strcpy, strlen, strcat.
            El cursor puede ser un puntero char *cursor=cadena o también se puede usar directamente cadena(i)




« Última modificación: 7 Noviembre 2020, 14:55 por iretchai » En línea

AlbertoBSD
Programador y
Colaborador
***
Desconectado Desconectado

Mensajes: 3.518


🏴 Libertad!!!!!


Ver Perfil WWW
Re: COMPRESOR LZ78
« Respuesta #1 en: 8 Noviembre 2020, 20:55 »

No se hacen tareas.

Saludos!


En línea

Donaciones 15FZZ2fLGR1NydCKHJMw76UZ9SqvFRkxqE
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Compresor SWF
Diseño Gráfico
DownRate 1 1,023 Último mensaje 30 Octubre 2004, 02:12
por Azielito
Compresor codigo java
Java
Necro369 2 5,089 Último mensaje 16 Octubre 2007, 17:58
por Necro369
[SRC] Compresor de Archivos Huffman
Java
Amerikano|Cls 9 11,939 Último mensaje 26 Junio 2009, 23:08
por Amerikano|Cls
[Source]Compresor de ejecutables
Programación Visual Basic
LeandroA 1 1,540 Último mensaje 19 Marzo 2010, 21:05
por EddyW
Compresor de neveras « 1 2 »
Electrónica
Meta 12 20,817 Último mensaje 20 Diciembre 2011, 17:51
por dixway
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines