1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #14320

    +27

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    int enumDevices(DevInfo* &lst) {
        int count = 0;
        DevInfo* tmp = NULL;
        Device device;
        for (int i = 0; i < MAXDEVICES; i++)
            if (device = OpenDevice(i)) {
                count++;
                realloc(tmp, sizeof(DevInfo)*count);
                ReadInfo(device, &tmp[count-1]
            }
        if (count == 0) return 0;
        lst = new DevInfo[count];
        for (int i = 0; i < count; i++)
            lst[i] = tmp[i];
        free(tmp);
        return count;
    }
    
    //................
    
    DevInfo* list;
    int devcount = enumDevices(list);
    /* работаем со списком */
    delete[] list;

    Самому стыдно.

    Vindicar, 06 Января 2014

    Комментарии (95)
  3. Куча / Говнокод #14308

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    Говнокод рекурсивный
    
    Проходим по ссылке 
    http://govnokod.ru/comments/14234/rss
    
    Смотрим на 5 строку
     <link>http://govnokod.ru/comments/14301/rss</link>
    
    Переходим по 
    http://govnokod.ru/comments/14301/rss
    
    
    Запрашиваемая страница не найдена!
    Возможно, её и не было никогда
    
    Так и должно быть?

    kegdan, 02 Января 2014

    Комментарии (95)
  4. Си / Говнокод #14224

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    void permutate(int a[10], int n) {
        // God bless mr. Donald E. Knuth;
        // Tons of oil to English bell ringers!
    
        // WARNING: It's dangerous to go alone, take this^H read this shit
        int c[10], o[10], j, s, q;
        for (j = 1; j <= n; j++) {
            c[j] = 0;
            o[j] = 1;
        }
        while (1) {
            check(a, n);
            j = n;
            s = 0;
            while (1) {
                do {
                    q = c[j] + o[j];
                    if (q < 0) { o[j] = -o[j]; --j; }
                } while (q < 0);
                if (q == j) {
                    if (j == 1) return; else ++s;
                    o[j] = -o[j];
                    --j;
                    continue;
                }
                int t = a[j - c[j] + s];
                a[j - c[j] + s] = a[j - q + s];
                a[j - q + s] = t;
                c[j] = q;
                break;
            }
        }
    }

    Реализация алгоратма "простых изменений" по описанию из Кнута (т4. Комбинаторный поиск, генерация всех перестановок).
    Напрашивающиеся goto раздражают, было бы приятно увидеть менее пахучие реализации. Не смог нагуглить, забугорного названия этого алгоритма не знаю, а про "простые изменения" тинай вики молчит.

    vistefan, 13 Декабря 2013

    Комментарии (95)
  5. Куча / Говнокод #13639

    +139

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    Всего обработано 12582 постов (не считая 1055 исключённых из-за 404 ошибки), 186254 комментариев, которые создали 4163 пользователей.
    
    3390+	юзеров имеют 1+	постов
    181+	юзеров имеют 10+	постов
    6+	юзеров имеют 100+	постов
    1+	юзеров имеют 1000+	постов
    
    3159+	юзеров имеют 1+	комментариев
    875+	юзеров имеют 10+	комментариев
    178+	юзеров имеют 100+	комментариев
    24+	юзеров имеют 1000+	комментариев
    2+	юзеров имеют 10000+	комментариев
    
    711+	юзеров создали 1+	комм./постов за последние 360	дней
    299+	юзеров создали 5+	комм./постов за последние 360	дней
    197+	юзеров создали 10+	комм./постов за последние 360	дней
    77+	юзеров создали 50+	комм./постов за последние 360	дней
    49+	юзеров создали 100+	комм./постов за последние 360	дней
    17+	юзеров создали 500+	комм./постов за последние 360	дней
    
    290+	юзеров создали 1+	комм./постов за последние 90	дней
    118+	юзеров создали 5+	комм./постов за последние 90	дней
    86+	юзеров создали 10+	комм./постов за последние 90	дней
    37+	юзеров создали 50+	комм./постов за последние 90	дней
    25+	юзеров создали 100+	комм./постов за последние 90	дней
    
    144+	юзеров создали 1+	комм./постов за последние 30	дней
    59+	юзеров создали 5+	комм./постов за последние 30	дней
    40+	юзеров создали 10+	комм./постов за последние 30	дней
    23+	юзеров создали 20+	комм./постов за последние 30	дней
    14+	юзеров создали 50+	комм./постов за последние 30	дней
    9+	юзеров создали 100+	комм./постов за последние 30	дней
    
    Топ 20 пользователей, которые вызывают эмоции
    (по количеству кликов по +/-):
    1: guest (#1) - 224256 (1418 постов, 32235 комментариев)
    2: Lure Of Chaos (#1538) - 28637 (133 постов, 14460 комментариев)
    3: bormand (#5528) - 17334 (62 постов, 8303 комментариев)
    4: TarasB (#721) - 15999 (60 постов, 5978 комментариев)
    5: roman-kashitsyn (#3818) - 12252 (71 постов, 5767 комментариев)
    6: 3.14159265 (#1438) - 11991 (85 постов, 4851 комментариев)
    7: bugmenot (#1632) - 11748 (51 постов, 6120 комментариев)
    8: anonimb84a2f6fd141 (#5798) - 10073 (52 постов, 1806 комментариев)
    9: absolut (#1528) - 7881 (21 постов, 4142 комментариев)
    10: defecate-plusplus (#4442) - 6788 (13 постов, 2748 комментариев)
    11: LispGovno (#6011) - 5951 (88 постов, 2733 комментариев)
    12: Анонимус (#1679) - 5783 (8 постов, 3021 комментариев)
    13: eth0 (#2108) - 5401 (0 постов, 2608 комментариев)
    14: inkanus-gray (#1659) - 5307 (16 постов, 2538 комментариев)
    15: Stertor (#5934) - 4395 (98 постов, 864 комментариев)
    16: Говногость (#320) - 3893 (184 постов, 937 комментариев)
    17: istem (#1997) - 3851 (31 постов, 2130 комментариев)
    18: wvxvw (#988) - 3446 (115 постов, 2446 комментариев)
    19: xXx_totalwar (#963) - 3427 (24 постов, 1099 комментариев)
    20: Vasiliy (#1478) - 3404 (56 постов, 1573 комментариев)

    Статистика ГК. Данные были собраны за последние 3-4 дня.
    Постараюсь добавить в комментарии несколько Топ50.

    1024--, 21 Августа 2013

    Комментарии (95)
  6. C# / Говнокод #13362

    +134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    public static int fullBendList(out List<MnOneBend> bendList, double angle, int angType, double diameter) {
          bendList = new List<MnOneBend>(); if (bendList == null) return Utils.ecError;
          List<double> angArray = new List<double>(); if (angArray == null) return Utils.ecError;
          if (angType < 1 || angType > 3 || angle < 0) { Utils.ErrorMessage("FULLBENDLIST"); return Utils.ecError; }
          MnBendHard bend = (MnBendHard)MnBend.createBend(angType); if (bend == null) return Utils.ecError;
          MnBend.getBendAngleList(ref angArray, diameter, angType);
          for (int i = 0; i < angArray.Count; i++) {
            double ang = Math.Abs(angArray[i]) * Utils.PI / 180; if (ang > angle + Utils.EPS) continue;
            List<MnOneBend> oneBendList = new List<MnOneBend>(); if (oneBendList == null) return Utils.ecError;
            if (bend.oneBendAngArray(ref oneBendList, ang, diameter) != Utils.ecNorm) return Utils.ecError;
            if (oneBendList.Count != 1) { Utils.ErrorMessage("FULLBENDLIST"); return Utils.ecError; }
            bendList.Add(oneBendList[0]);
          }
          return Utils.ecNorm;
        }

    Сохранено оригинальное форматирование, так как это неотъемлемый элемент данного произведения. Utils.PI - настоящий правильный ! Exception ? - Не, не слышал. П.С. Автор отказывает устонавливать ReSharper. Как вылечить пациента ?

    diimdeep , 11 Июля 2013

    Комментарии (95)
  7. Java / Говнокод #10361

    +74

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    public class factorial {
        public static void main(String[] args) {
            boolean run = true;
            long count = 2142;
            long last_count=0;
            while (run) {
                if (ispand(count)) {
                    if (isprime(count)) {
                        System.out.println(count);
                        last_count=count;
                    }
    
                }
                if((count+"").length()>7){
                   System.out.println("Largest prime can be :"+last_count);
                   System.exit(1);
                }
                count++;
            }
        }
        public static boolean ispand(long num) {
            String text = num + "";
            for (int i = 1; i <= text.length(); i++) {
                if (!text.contains(i + "")) {
                    return false;
                }
            }
            return true;
        }
        public static boolean isprime(long num) {
            if (num == 1) {
                return false;
            } else {
                for (int i = 2; i <= Math.sqrt(num); i++) {
                    if (num % i == 0) {
                        return false;
                    }
                }
            }
            return true;
        }
    }

    http://projecteuler.net/problem=41
    http://projecteuler.net/thread=41&page=8


    Пациент каким-то образом растянул решение аж на две секунды.

    PS: одному Аллаху известно почему это "factorial".

    TheHamstertamer, 24 Мая 2012

    Комментарии (95)
  8. Си / Говнокод #4659

    +145

    1. 1
    #define ISODD( i ) ( (((i) % 2) == 0) ? 0 : 1 )

    Особо выдающимся китайцам платят не построчно, а посимвольно.

    nil, 17 Ноября 2010

    Комментарии (95)
  9. Куча / Говнокод #4183

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    <script id="tpl_top" type="text/html" style="display: none;"><a name="comment_<%= row.id %>"></a>
    <table cellspacing="0" id="comment-cnt_<%= row.id %>" class="<%= row.tableClass %>">
        <tr>
            <% if (row.side === 2) { %>
            <td width="5" class="transp_td"><div class="spacer"></div></td>
            <% } %>
            <td width="5" height="5" class="ug_1">
                <div class="spacer"></div>
            </td>
            <td><div class="spacer"></div></td>
            <td width="5" class="ug_2"><div class="spacer"></div></td>
            <% if (row.side === 1) { %>
            <td width="5" class="transp_td"><div class="spacer"></div></td>
            <% } %>
        </tr>

    Фрагмент из http://holywars.ru/
    Не могу определить, что за скрипт такой text/html, поэтому поместил в Кучу.
    Если я туплю, поставьте 11 минусов за ламерство, и этот ГК исчезнет.

    inkanus-gray, 06 Сентября 2010

    Комментарии (95)
  10. PHP / Говнокод #4075

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    $names = array("Иван","Петр","Семен"); 
    if ($names[0]=="Иван"): 
    ?>
    <?php
    Привет, Ваня!
    endif; ?>

    Вот такому коду учат на intuit.ru

    Ded_Maksim, 23 Августа 2010

    Комментарии (95)
  11. PHP / Говнокод #3172

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // пример 1
    a) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM {$prefix2}_{$module} WHERE id='$id' AND check_active=1 ORDER BY $order LIMIT $limit";
    или же
    b) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM ".$prefix2."_".$module." WHERE id='".$id."' AND check_active=1 ORDER BY ".$order." LIMIT ".$limit;
    
    // пример 2
    c) $query = "INSERT INTO {$prefix2}_{$module} SET text_name='$name',date_add=NOW(),text_fio='$fio' WHERE id='$id'";
    или же
    d) $query = "INSERT INTO ".$prefix2."_".$module." SET text_name='".$name."',date_add=NOW(),text_fio='".$fio."' WHERE id='".$id."'";

    Как-то некий посетитель этого сайта назвал a и с -- говнокодом. Интересно узнать Ваше мнение по этому поводу.
    Желательно услышать хоть какую-то аргументацию, вместо пресловутых трольских комментов ))
    Все переменные перед использованием естественно приведены к безопастному виду.
    Ни о каких инъекций речь просьба не поднимать...

    Death, 07 Мая 2010

    Комментарии (95)