Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Ой, я ведь по-моему могу побитовые исключающие или ставить в любом порядке, результат не изменится ? Так ведь ? Значит это выражение можно упростить ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 04:47 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Или нельзя..тогда всё в нулях будет. Слишком просто. Видимо я неправильно понимаю эту строчку. Подскажите пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 04:53 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Скорее всего, такой код Код: plaintext 1. 2. 3. 4. будет менять местами значения любых двух элементов, этакий swap. А почему ? Не очень понимаю очередность действий в данном случае ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 06:02 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. Я кажется понял!! Код нужно читать с конца, для этой строки: 1. x set x^y//new_x 2. y set y^new_x=y^x^y=x//new_y 3. x set new_x^new_y//x^y^y^x^y=x^y^x=y//new_x раскладка тупит на клавиатуре. Так ??А почему так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 06:14 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
В общем программа выводит числа змейкой :) Ниже исправленный код программы в первом приближение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 07:08 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryТак ??А почему так ?Потому, что "исключающее или": (x XOR y) XOR y == x при любом y. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 07:14 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПотому, что "исключающее или": (x XOR y) XOR y == x при любом y. Это очевидно. Вопрос был: SSЯ кажется понял!! Код нужно читать с конца, для этой строки: 1. x set x^y//new_x 2. y set y^new_x=y^x^y=x//new_y 3. x set new_x^new_y//x^y^y^x^y=x^y^x=y//new Так ??А почему так ? Разбор строки я начал с конца, я не уверен что это так в данном конкретном случае, потому и спрашиваю, так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 07:28 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryРефакторинг первых строк в первом приближении, Пока те замены что я предлагаю верны ? Я не знаю, верны ли замены, не смотрел, но ты должен учитывать и то, что в таких программах немаловажным является эстетический эффект (или антиэффект), который возникает у читателя при чтении текста программы. Этот эффект твои "рефакторинги" могут нарушить. Т.е. я это к тому, что там именно так было, возможно, написано именно для внешнего эффекта. А ты всё сломал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 12:02 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Саша, ты ГЛУБОКО НЕПРАВ. авторесли человек будет ориентироваться в таком коде, то насколько легко ему будет читать обычный код, находить в нём ошибки ? Такой код никто никогда не напишет в боевых условиях. авторПрекрасная разминка для головы. Т.е. тебе голову больше нечем занять... Ну, изучай С++, GoF, UML, -- полезнее будет в 1000 раз. авторКод, чужой, разный, хороший, плохой, читать нужно. Это --очень специальный вид кода, чтение которого может принести только ограниченную пользу и специфическое наслаждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 12:12 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryРазбор строки я начал с конца, я не уверен что это так в данном конкретном случае, потому и спрашиваю, так ? ассоциативность операции присваивания . Это если учебники/справочники не читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 15:27 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Учебники читаю вроде. Только я почему-то искал операцию ^=. В том же K&R в таблице на странице 55 K&R= += -= ETC. RIGHTTOLEFT А, я на "ETC" не обратил внимание. Теперь понятно Re: Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman MasterZiv Ну, изучай С++, GoF, UML, -- полезнее будет в 1000 раз Сделаю что-нибудь интересное на Си, и начну С++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 01:49 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Если я бы я не разобрал бы этот пример, разве узнал бы я такой красивой конструкции для свопа: Код: plaintext 1. Ну разве она не красивая ?;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 01:50 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
И она, кстати, выполняется также за три действия, и может быть даже быстрее чем классика: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 01:53 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНу разве она не красивая ?;)красивая, но бессмысленная, инты обменивать редко когда требуется, да и читается плохо, по этой же причине. Редко - читай никогда )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 02:14 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСделаю что-нибудь интересное на Си, и начну С++ Напишите парсер С. Заодно и С выучите :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 02:36 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskySashaMercuryСделаю что-нибудь интересное на Си, и начну С++ Напишите парсер С. Заодно и С выучите :) Хорошая идея кстати. Одна из моих первых поделок на Си была прога по форматированию кода. Очень помогала в поиске непарных скобок. SashaMercury, попробуй написать парсер, который превратит фарш из первого поста в более читаемый код с отступами, пробелами после разделителей и знаков и т.п. Т.е. прогу которая из 16209640 сделает 16209666 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 07:37 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, Dima T Спасибо за советы C: Если честно, я сам об этом подсознательно думал. Вчера перед сном. Но я не был уверен что стоит, но раз вы оба советуете, то и правда стоит. Сначала я сделаю то что предложил Дмитрий, а затем то что предложил Anatoly Moskovsky. ps Только добью restrict и fopen, и начну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 08:02 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Я если чо пошутил. Если только у вас нет несколько месяцев свободного времени :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 14:18 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Сашик. Вот тебе пыщ по Хорьку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 14:22 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Mayton, спасибо за ссылку )) я так понял вы шутите ;) Анатолий(с телефона я замучаюсь вас на транслите называть, потому извините если вас зовут не так), на Си я найду время. Должен же я что-нибудь уже сделать. Только с fopen разберусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 15:20 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Нет не шучу. Кст. многие разработчики слабо используют возможности хоря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 15:25 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
On 26.06.2014 02:50, SashaMercury wrote: > Если я бы я не разобрал бы этот пример, разве узнал бы я такой красивой > конструкции для свопа: > > x ^= y ^= x ^= y; > > > > Ну разве она не красивая ?;) Красивая. Но я бы программиста, который это использовал бы в production коде уволил бы. (если бы это конечно не было бы оформленно в соотв. функцию или не требовалось исключительно какими-то требованиями производительности или что-то в этом роде, но тогда без комментария -- всё равно бы уволил). Кстати, о производительности. auto other = y; y = x; x = other; -- тут три операции. Точнее, три чтения и три записи. в твоём 3 * 3 + 1 = 10 операций. При этом одна из этих трёх операций ( одно чтение, XOR и одна запись ) ещё и задействует АЛУ. А при обычном swap оно может быть и без АЛУ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 12:55 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
On 26.06.2014 03:14, egorych wrote: > красивая, но бессмысленная, инты обменивать редко когда требуется, да и > читается плохо, по этой же причине. Редко - читай никогда )) Ну ладно, не так уж и редко. Любая сортировка. А сортировка -- основа многих алгоритмов, да и сама часто используется. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 12:57 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
> Спасибо за советы C: > Если честно, я сам об этом подсознательно думал. Вчера перед сном. Но я > не был уверен что стоит, но раз вы оба советуете, то и правда стоит. > Сначала я сделаю то что предложил Дмитрий, а затем то что предложил > Anatoly Moskovsky. Я бы лучше сделал парсер другого языка сначала, попроще. Типа XML-я или ещё более простое. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 12:58 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38681787&tid=2019161]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 287ms |
| total: | 446ms |

| 0 / 0 |
