Seu desafio é jogar um programa que imita um fluxo de transmissão de dados. Seu programa deve ler a entrada de stdin e enviá-la diretamente para stdout. Para tornar o problema mais interessante, o fluxo de saída está com defeito e deve atender a vários requisitos:
- Deve haver uma chance de 10% de que cada caractere seja alterado com +1 código ASCII (ex 'a' se torna 'b', '9' se torna ':'), etc.
- A entrada e a saída devem cobrir apenas valores ascii imprimíveis ('!' A '~', de 33 a 126 de decimal, inclusive). Se o +1 aleatório ocorrer em um '~' (decimal 126), um '!' (decimal 33) deve ser impresso.
- Se três caracteres forem deslocados aleatoriamente em uma linha, o programa deverá gerar "CÓDIGO DE ERRO 4625: ERRO INCORREVÍVEL, ENTRE EM CONTATO COM O ADMINISTRADOR DO SISTEMA" (seguindo a nova linha opcional) e interrompa a execução.
Para simplificar o problema, aqui estão alguns outros critérios:
- Você pode assumir que a entrada sempre será válida; isto é, ele conterá apenas valores '!' através de '~'.
- O programa deve continuar até que três caracteres sejam deslocados aleatoriamente seguidos; é seguro assumir que o EOF nunca ocorrerá.
- A aleatoriedade deve diferir entre as corridas; se o seu gerador de números aleatórios precisar ser semeado para obter um resultado exclusivo a cada execução, seu código precisará semear.
- Você deve escrever um programa, não uma função.
- Você deve pegar a entrada do stdin e gravar a saída no stdout.
- Você não pode usar bibliotecas ou recursos externos.
- Seu código deve ter um interpretador ou compilador disponível e funcionando gratuitamente.
Aplicam-se as regras padrão de código de golfe. O vencedor é quem tiver o programa mais curto postado em duas semanas (quinta-feira, 20 de fevereiro de 2014).