1. Куча / Говнокод #8131

    +142

    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
    Ученые из исследовательского центра SETI, занимающиеся поиском внеземного разума,
    обнаружили, что к Земле приближаются три гигантских инопланетных корабля.
    По предварительным расчетам, мы встретимся с гуманоидами всего через два месяца. 
    
    Американская пресса уже начала морально готовить землян к вторжению пришельцев.
    Цели будущего визита неизвестны, поэтому в прессе появляются сценарии самых разных
    вариантов событий. Так, британский таблоид The Guardian опубликовал шокирующую
    статью под названием «Пришельцы могут уничтожить человечество».
    
    «При условии взаимной доброжелательности мы можем позаимствовать у гуманоидов
    ценный опыт или передовые технологии, – сообщается в статье. – Если же инопланетяне
    захотят нанести вред всему человечеству: поработить или использовать нас в качестве пищи,
    наслать неизвестные болезни или создать враждебный искусственный разум, то это станет
    началом страшной войны».
    
    Поддерживает страшную версию и популярный международный сетевой проект WikiLeaks,
    публикующий документы, ставшие доступными вследствие утечки информации.
    Сообщается, что вторжение инопланетян-разведчиков на Землю уже началось,
    а прибытие трех огромных кораблей станет началом официального вторжения.
    Боевые космические корабли были зафиксированы навигационной системой, базирующейся на Аляске.
    
    Подробнее: http://news.mail.ru/society/6884149/

    По ссылке заходить не обязательно:

    http://www.gamedev.ru/flame/forum/?id=153081&page=4

    Галактико опасносте!

    RS-232, 09 Октября 2011

    Комментарии (11)
  2. C++ / Говнокод #8130

    +146

    1. 1
    2. 2
    3. 3
    int *inter = (int[]){1, 8}; 
      /*...*/ 
      inter = (int[]){8, 9};

    RS-232, 08 Октября 2011

    Комментарии (4)
  3. C++ / Говнокод #8129

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    auto L = [](int i)->int { return i+1; };
    typedef decltype(L) TL;
    auto lfunc = &TL::operator();
    int i = (L.*lfunc)(1);

    ohlol, 08 Октября 2011

    Комментарии (36)
  4. 1C / Говнокод #8128

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Итак, у вас есть два стека с ограничением на размер - N. Стеки поддерживают операции push, pop, top.
    pop пустого стека, как и push заполненного стека вызывает соответствующее исключение.
    Необходимо из этих двух стеков смоделировать стек с таким же размером, но с дополнительным свойством -\
    push заполненного стека вызывает затирание последнего элемента стека, push(41,[1,2,3]) -> [41,1,2] ,\
    где N=3.
    Время пошло. Язык программирования любой.

    Да, это не говнокод, но 90% кандидатов не могут ее решить. (Наверное, потому, что язык собеседования - 1С)

    alexoy, 08 Октября 2011

    Комментарии (78)
  5. PHP / Говнокод #8127

    +158

    1. 1
    2. 2
    # Легкий XSS clean =)
    $_GET = array_map('htmlspecialchars_array', $_GET);

    Очень удивило...

    manyrus, 08 Октября 2011

    Комментарии (9)
  6. PHP / Говнокод #8126

    +168

    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
    <?php
    
        /*
        
            localhost Ltd - ALPHA CMS
            
            Version: 8.0
            
            File name: features_portability.php
            Description: This file contains the FEATURES PORT MODEL class.
            
            Coded by George Delaportas (G0D)
            
            localhost Ltd
            Copyright (c) 2011
        
        */
        
        
        
        // FEATURES PORT MODEL class
        class FEATURES_PORT_MODEL extends ROOT_MODEL
        {
        
            
    
        }
        
        
        
        /* ---------- End ---------- */
    
    ?>

    ALPHA CMS. Таких вот пустых классов ВРОТКОМПОТ_MODEL сорок шесть штук. Форматирование сохранено.

    telnet, 08 Октября 2011

    Комментарии (29)
  7. Си / Говнокод #8125

    +130

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<vector>
    #include<queue>
    #include<stack>
    #include<string.h>
    #include<sstream>
     
    #define s(m) scanf("%d",&m);
    #define sf(m) scanf("%f",&m);
    #define slld(m) scanf("%lld",&m)
    #define pb(m) push_back(m);
     
    #define FOR(m) for(int i=0;i<m;i++)
    #define FORS(m) for(int j=0;j<n;j++)
    #define REP(n,m) for(int i=n;i<m;i++)
    #define REPS(n,m) for(int j=n;j<n;j++)
     
    #define sb(m) (pr[m>>5]|=(1<<(m&31)))
    #define cb(m) (pr[m>>5]&=~(1<<(m&31)))
    #define chkb(m) (pr[m>>5]&(1<<(m&31)))
     
    #define n_sb(m) (next_pr[m>>5]|=(1<<(m&31)))
    #define n_cb(m) (next_pr[m>>5]&=~(1<<(m&31)))
    #define n_chkb(m) (next_pr[m>>5]&(1<<(m&31)))
     
    #define nev(m) (m&1)
    using namespace std;
    int main()
    {
      unsigned int pr[1000];
      
      for(int i=0;i<1000;i++)
      {
        pr[i]=0xffffffff;
      }      
        
      for(int i=3;i*i<=10000;i+=2)
      {
      if(chkb(i))
      { printf("%d\n",i);
        for(int j=i*i;j<=10000;j+=i+i)
        {          
            if(chkb(j))
            {
              cb(j);
               printf("%d\n",j);
            }            
        }
       }          
      }  
      cb(0);
      cb(1);
      cb(2); 
      FOR(10)
       {
         if(chkb(i)&&(i&1)!=0)
          printf("%d\n",i)      ;
       }
      int n;
      s(n);
      if(chkb(n)==1&&((n&1)!=0))
      {
        FOR(n)
         printf("Hello World\n");     
      }
      else
      {
        FOR(n)
          printf("Hello Codesprint\n");    
      }
      return 0;    
    }

    Горжусь РоСсией

    alexoy, 08 Октября 2011

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

    +146

    1. 1
    *((Point *)((Node *) result->data)->data) = *p;

    Вот это Point *, которая в void * хранится, в списке, в котором другой список хранится, в доме, который построил Джек.

    byss, 08 Октября 2011

    Комментарии (69)
  9. C++ / Говнокод #8123

    +160

    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
    #include <iostream>
     
    int main()
    {
    int a[4] = {1,2,3,4}; 
    int (&b)[4] = a; 
    int c[4] = {5,6,7,8}; 
    a=c; 
    std::cout<<b[0];
    }
    
    prog.cpp: In function ‘int main()’:
    prog.cpp:8: error: invalid array assignment

    Да, похоже С++ не настолько высокоуровневый, чтобы поддерживать такое понятие как присваивание массивов.

    http://www.gamedev.ru/flame/forum/?id=153265&page=2#m20

    TarasB, 08 Октября 2011

    Комментарии (63)
  10. SQL / Говнокод #8122

    −107

    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
    SELECT SUBSTR(exp, 1, 20) "expression", (CASE WHEN SUBSTR(exp, 6, 1) = '+' THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN TO_NUMBER(SUBSTR(exp, 1, 2))
     + TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE 
    WHEN SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) * TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN 
    TO_NUMBER(SUBSTR(exp, 1, 2)) / TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END) + TO_NUMBER(SUBSTR(exp, 7, 2)) ELSE CASE WHEN SUBSTR(exp, 6, 1) = '-' 
    THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) + TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN 
    TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) * 
    TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) / TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END) 
    - TO_NUMBER(SUBSTR(exp, 7, 2)) ELSE CASE WHEN SUBSTR(exp, 6, 1) = '*' THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) + 
    TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN 
    SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) * TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) / 
    TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END) * TO_NUMBER(SUBSTR(exp, 7, 2)) ELSE CASE WHEN SUBSTR(exp, 6, 1) = '/' THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN 
    TO_NUMBER(SUBSTR(exp, 1, 2)) + TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2)) 
    ELSE CASE WHEN SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) * TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN 
    TO_NUMBER(SUBSTR(exp, 1, 2)) / TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END) / TO_NUMBER(SUBSTR(exp, 7, 2)) END END END END) "result" FROM lab3_2;

    Сидел я на прошлой лабе и делал значит задания по Oracle и вот последнее задание было таким:

    "Дана таблица с единственной колонкой (строкового типа) с выражениями вида:’xx*xx*xx’ где xx – символы цифр 0..9, * - один из символов математических операций: *+-/ Например, таким выражениями являются ‘01*23+34’ ‘32+13-12’ и т.д. Требуется создать таблицу и заполнить ее строками содержащими такие выражения (не менее 5 строк), составить оператор SELECT который используя данные из этой таблицы выведет строки вида ‘<исходное выражение>=<вычисленный результат>’. Задание выполнить без учета приоритетности операций."

    Вооружившись Notepad++ я составил вот такое вот запросище, которое работает между прочим :) Для повторения эксперимента нужно создать таблицу lab3_2 с полем exp строкового типа, ну и внести в нее пару каких-нибудь выражений.

    10a10b1s, 08 Октября 2011

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