Su desafío es desarrollar un programa que imite un flujo de transmisión de datos. Su programa debe leer la entrada de stdin y enviarla directamente a stdout. Para hacer que el problema sea más interesante, la secuencia de salida es 'defectuosa' y debe cumplir varios requisitos:
- Debería haber un 10% de posibilidades de que cada personaje se cambie +1 código ascii (por ejemplo, 'a' se convierte en 'b', '9' se convierte en ':'), etc.
- La entrada y la salida solo deben cubrir valores ascii imprimibles ('!' A '~', decimal 33 a decimal 126, inclusive). Si el +1 aleatorio ocurre en un '~' (decimal 126), un '!' (decimal 33) se debe generar en su lugar.
- Si tres caracteres se desplazan aleatoriamente en una fila, el programa debe mostrar "CÓDIGO DE ERROR 4625: ERROR INVERTIRABLE, CONTACTE CON SU ADMINISTRADOR DE SISTEMA" (línea posterior opcional) y detener la ejecución.
Para simplificar el problema, aquí hay algunos otros criterios:
- Puede suponer que la entrada siempre será válida; es decir, solo contendrá valores '!' a través de '~'.
- El programa debe continuar hasta que tres caracteres se desplacen aleatoriamente en una fila; es seguro asumir que EOF nunca ocurrirá.
- La aleatoriedad debe diferir entre corridas; Si su generador de números aleatorios necesita ser sembrado para obtener un resultado único en cada ejecución, entonces su código debe ser inicializado.
- Debe escribir un programa, no una función.
- Debe tomar la entrada de stdin y escribir la salida en stdout.
- No puede utilizar ninguna biblioteca o recurso externo.
- Su código debe tener un intérprete o compilador disponible y que funcione libremente.
Aplican reglas estándar de código de golf. El ganador es quien tiene el programa más corto publicado dentro de dos semanas (jueves 20 de febrero de 2014).