Напишите программу, которая сортирует вектор чисел (или элемент любого типа), который выглядит как имеющий одну или несколько ошибок, но на самом деле это нормально.
- Код должен быть понятным. Кто-то просматривает код, должен легко определить, что это алгоритм сортировки, и должен легко спутать правильный фрагмент кода с ошибкой.
- (Очевидная) ошибка может быть вызвана чем-либо, что делает код синтаксически или семантически некорректным (например, заставить программу не компилироваться / запускаться, показывать UB при запуске), заставлять программу давать неверные результаты, не завершать или недетерминировать.
- На самом деле код должен быть правильно сформирован, и программа должна детерминистически производить правильный вывод за конечное время.
- Ввод может быть жестко запрограммирован в программе или может быть прочитан (из пользователя, из файла и т. Д.).
- Ввод считается действительным, и программа не требуется для проверки правильности ввода.
- Любой алгоритм сортировки принят. Структура данных для хранения чисел не обязательно должна быть фактическим вектором. Программа может быть разработана для сортировки переменного числа или фиксированного числа (например, программа для сортировки 3 чисел в порядке ). Сортировка может быть стабильной или нет (примечание: программа, разработанная для стабильной сортировки, которая имеет явную ошибку, из-за которой сортировка выглядит нестабильной, но на самом деле это не ошибка: программа фактически выполняет стабильную сортировку - это правильный ответ ).
- Вы можете вызывать любые функции (включая функции сортировки), за исключением сторонних инструментов (если они не получили широкого распространения и не используются, например,
boos
дляC++
,JQuery
дляJavascript
- те, которые можно использовать) - указать язык
- закомментируйте в коде ту часть, которая выглядит как ошибка.
- объясните, как выглядит ошибка, поступающая неправильно.
- объясните (в коробке спойлера), почему это на самом деле не ошибка.
Это конкурс популярности. Ответ с большинством голосов выигрывает.
Эта проблема теперь закончена. Победитель - @Clueless /codegolf//a/30190/11400 с 8 голосами. Спасибо всем представителям!
Если вы хотите войти после того, как победитель был награжден, пожалуйста, не стесняйтесь добавлять новый ответ. Вы вне гонки, но нам всем интересно видеть интересные ответы.
Ответы:
C ++
Вдохновленный Apple
goto fail
; ошибка .источник
goto
, поэтому нет ошибки. (Ссылаясь на всех людей, которые сказали, что ошибка не произошла бы, если бы Apple не использовалаgoto
)Python2.x
Тестовый забег
источник
С
Неправильное использование сортировки - в 64-битной системе
int
это 4 байта иchar *
8 байтов, поэтому не должно работать.Код:
Телосложение:
Бегать:
Да, вроде как!
источник
кобра
О, дорогой, я, кажется, неправильно назначил
n
... и как все эти запятые попали туда !?источник
Джава
источник
Perl
Подрядчики в эти дни! Разве они не знают, что
<=>
оператор (он же "космический корабль") используется только для числовой сортировки?И почему они сравнивают операторов?
Как этот код даже прошел наши строгие тесты ?? !! Он даже использует
strict
иwarnings
!Почему Perl компилируется
Почему это работает
источник