WC F.U.R.I.A Postado Junho 12, 2014 Denunciar Share Postado Junho 12, 2014 cara por favor se possível faça isso pra mim urgente:eu sei a lógica mais ta dando errado: Os compactadores de arquivos trabalham retirando redundância do arquivo. Por exemplo, palavras ou até partes de um texto que aparecem várias vezes podem ser escritas uma vez só, e para as demais ocorrências são gravadas apenas referências a algo que já apareceu antes. Em imagens, grandes blocos de cores iguais podem ser resumidos a uma cor e quantas vezes ela é repetida. Um compactador bastante simples é um que troca uma sequência de caracteres iguais por um par de valores: quantas vezes o caractere ocorre, e qual é esse caractere. Veja o exemplo a seguir: Arquivo original: GGGGTTTTTCCAAAAAAAAAAAGGGGAAAAAACTTTTTAAAGGGGGGGGGGGGG Compactado: 4G5T2C11A4G6A1C5T3A13G A descompactação também é simples, lê-‐se um número e um caractere, e esse caractere é escrito repetidamente tal número de vezes. Note que esse compactador só reduz realmente o tamanho do arquivo se houver sequência com mais de 2 caracteres iguais consecutivos. De fato, quando há apenas 2 caracteres não há ganho algum (como na primeira sequência de C’s, onde CC é substituído por 2C). E quando não há repetição, a compactação na verdade aumenta o tamanho (como na segunda sequência de C, onde C é substituído por 1C). Você deve fazer um programa para fazer a compactação de um arquivo da forma como mostrado acima. O arquivo contém apenas letras (maiúsculas ou minúsculas) e possui um flag no final para sinalizar o final da entrada (um caractere ‘.’). O “arquivo” na verdade será uma sequência de letras lidas como entrada do programa. Entrada O programa terá apenas um caso de teste. O caso de teste é descrito em uma única linha, que contém uma sequência de letras terminada por um caractere ‘.’. Não há limite para a quantidade total de letras mas nenhuma sequência tem mais de 1000 letras iguais seguidas. Saída Seu programa gera apenas uma linha de saída, contendo o resultado da compactação da entrada. Imprima um ‘0’ (zero) após o final da sequência compactada. Não se esqueça de encerrar a linha após a impressão do resultado. Exemplos Entrada: AAAAAAAAAARRRRAAAAA. Saída: 10A4R5A0 Entrada: AAAAaaaAAAAAAa. Saída: 4A3a6A1a0 Entrada: GOOOOOOOOOOOOOOOLLLLLL. Saída: 1G15O6L0 Entrada: Pernambuco. Saída: 1P1e1r1n1a1m1b1u1c1o0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
WC F.U.R.I.A
cara por favor se possível faça isso pra mim urgente:eu sei a lógica mais ta dando errado:
Compactado: 4G5T2C11A4G6A1C5T3A13G
A descompactação também é simples, lê-‐se um número e um caractere, e esse
Entrada: AAAAAAAAAARRRRAAAAA. Saída: 10A4R5A0
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.