Escriba un programa que clasifique un vector de números (o cualquier tipo de elemento) que parezca tener uno o más errores, pero en realidad está bien.
- El código debe ser claro. Alguien que revisa el código debe identificar fácilmente que se trata de un algoritmo de clasificación y debe confundir fácilmente un código correcto con un error.
- El error (aparente) puede ser cualquier cosa que haga que el código esté mal formado sintáctica o semánticamente (por ejemplo, hacer que el programa no se compile / ejecute, exhiba UB cuando se ejecuta), haga que el programa produzca resultados incorrectos, no termine o no sea determinista.
- El código debe estar bien formado y el programa debe producir de manera determinista la salida correcta en un tiempo finito.
- La entrada puede estar codificada en el programa o puede leerse (del usuario, del archivo, etc.).
- La entrada se considera válida y el programa no es necesario para verificar la corrección de la entrada.
- Cualquier algoritmo de clasificación es aceptado. La estructura de datos para contener los números no es necesaria para ser un vector real. El programa se puede diseñar para ordenar un número variable de números o un número fijo de números (por ejemplo, un programa para ordenar 3 números está bien ). La ordenación puede ser estable o no (nota: un programa diseñado para hacer una ordenación estable que tiene un error aparente que hace que la ordenación parezca inestable, pero en realidad no es un error: el programa realmente realiza una ordenación estable - es una respuesta válida )
- puede llamar a cualquiera de las funciones (incluyendo funciones de clasificación), excepto herramientas de 3 ª parte (a menos que sean ampliamente difundidas y utilizadas por ejemplo
boos
paraC++
,JQuery
paraJavascript
- los están bien para su uso) - especifica el idioma
- comente en código la parte que parece un error.
- explica cómo se ve el error haciendo mal.
- explique (en un cuadro de spoiler) por qué en realidad no es un error.
Este es un concurso de popularidad. La respuesta con más votos gana.
Este desafío ya ha terminado. El ganador es @Clueless /codegolf//a/30190/11400 con 8 votos. Gracias a todos los que envían!
Si desea ingresar después de que se haya otorgado el ganador, no dude en agregar una nueva respuesta. Estás fuera de carrera, pero todos estamos interesados en ver respuestas interesantes.
Respuestas:
C ++
Inspirado por Apple
goto fail
; insecto .fuente
goto
, por lo tanto no hay error. (Refiriéndose a todas las personas que se dice que el fallo no habría ocurrido si Apple no utilizógoto
)Python2.x
Prueba de funcionamiento
fuente
C
Usar ordenación incorrectamente: en un sistema de 64 bits,
int
tiene 4 bytes ychar *
8 bytes, por lo que no debería funcionar.Código:
Construir:
Correr:
Sí, ¡está bien!
fuente
Cobra
¡Dios mío, parece que he asignado incorrectamente
n
... y cómo llegaron todas esas comas !?fuente
Java
fuente
Perl
Contratistas en estos días! ¿No saben que el
<=>
operador (también conocido como "nave espacial") solo se usa para la clasificación numérica?¿Y por qué están comparando operadores?
¿Cómo pasó este código incluso nuestras estrictas pruebas? ¡Incluso usa
strict
ywarnings
!¿Por qué compila Perl?
Por que funciona
fuente