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

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

    +2

    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
    class pool_exeption: public std::exception
    {
        virtual  const char* what() const throw()
        {
            return "Pool out of bounds";
        }
    }pool_out_of_bounds;
    class pool_exeption2: public std::exception
    {
        virtual  const char* what() const throw()
        {
            return "Pool block is too small";
        }
    }pool_small_block;

    А потом эти исключения кидаются по значению: throw pool_out_of_bounds;
    virtual const char* WAT()

    Yuuri, 18 Октября 2013

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

    +2

    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
    #if defined(_WIN32) || defined(_WIN64)
         size_t size = message.size();
         size_t size_buf = 1015;
    
         size_t pointer = 0;
         for (int i = 0; i < (size/size_buf) + 1 ; i++){
             
             /*Делаем для красивого вывода. Пробел всегда один байт.
              *Потому сматываем указатель буфера до первого пробела.*/
             int buf = size_buf;
             while (message[pointer+buf] != ' ')
                 buf--;
             
             /*Здесь лечится косяк MinGw, буфер принимает по 1к байтов.
              *Лечение производим создавая дополнительные буферы.*/
             istringstream ss(message.substr(pointer,buf) );
             std::cout << ss.rdbuf();
             
             pointer += buf;
         }
    #else
         std::cout << message;
    #endif

    Похоже плохая сборка MinGw.
    http://govnokod.ru/13094

    crastinus, 26 Сентября 2013

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

    +2

    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
    double vvod (double a1, double a2, double a3) {
     
    // a1=a a2=b a3=c
     
    	cout<<"Введите значение коэфицента a: ";
    	cin>>a1;
    	cout<<endl;
    	cout<<"Введите значение коэфицента b: ";
    	cin>>a2;
    	cout<<endl;
    	cout<<"Введите значение коэфицента c: ";
    	cin>>a3;
    	cout<<endl;
    	return (a1);
    	return (a2);
    	return (a3);
    }

    Оказывается в С++ можно возвращать 3 значения из функции
    http://ideone.com/tGWRpl - полная версия.

    pabloid, 05 Сентября 2013

    Комментарии (51)
  5. C++ / Говнокод #12226

    +2

    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
    template <typename A, typename B> 
    class ololo 
    {
    };
    
    template <typename A>
    class ololo <A, int>
    {
    };
    
    template <typename A>
    void bububu ()
    {
    }
    
    template <>
    void bububu <int> ()
    {
    }
    
    template <typename A, typename B> 
    void kokoko  ()
    {
    }
    
    template <typename A>
    void kokoko <A, int> ()
    {
    }

    http://www.gamedev.ru/flame/forum/?id=169781
    tarasboproblemi

    LispGovno, 29 Ноября 2012

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

    +2

    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
    auto addition = [] (double a, double b) { return a + b; };
    
    auto substruction = [] (double a, double b) { return a - b; };
    
    auto divide = [] (double a, double b) { return a / b; };
    
    auto multiplie = [] (double a, double b) { return a * b; };
    
    typedef std::function<double (double, double)> DoubleFunc;
    
    int main()
    {
        std::vector<DoubleFunc> funcVector;
    
        funcVector.push_back(addition);
        funcVector.push_back(substruction);
        funcVector.push_back(multiplie);
        funcVector.push_back(divide);
    
        std::for_each(funcVector.begin(), funcVector.end(), []
        (DoubleFunc func)
        {
            std::cout << func(3.14159, 100500) << std::endl;
        });
    
        system("pause");
        return 0;
    }

    А ваш язык такое сможет:)? (я о delphi, java, etc.)
    Кстати, если писать все в таком духе, то параллелиться прога будет безболезненно:), правда это уже какой-то хацкель/лисп...

    suc-daniil, 30 Июля 2012

    Комментарии (134)
  7. C++ / Говнокод #11473

    +2

    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
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <netdb.h> 
    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    struct user_data{
      char user_name[100];
      char host_name[100];
    }cuser;
    char file_path[100000];
    int sockfd;
    void error(const char *msg){
        perror(msg);
        exit(0);
    }
    char s[128];vector<user_data> users;
    int main(int argc, char *argv[]){
        int portno, n;struct sockaddr_in serv_addr;
        struct hostent *server;
        char buffer[256];
        static char file_name[256];
        if (argc < 2) {
           fprintf(stderr,"usage %s hostname port\n", argv[0]);
           exit(0);
        }
        portno = atoi(argv[1]);
        while(getchar()!='q'){
        sockfd = socket(AF_INET, SOCK_STREAM, 0);
        if (sockfd < 0) 
            error("ERROR opening socket");
        gethostname(s, 128);
        server = gethostbyname(s);
        if (server == NULL) {
            fprintf(stderr,"ERROR, no such host\n");
            exit(0);
        }
        bzero((char *) &serv_addr, sizeof(serv_addr));
        serv_addr.sin_family = AF_INET;
        bcopy((char *)server->h_addr, 
             (char *)&serv_addr.sin_addr.s_addr,
             server->h_length);
        serv_addr.sin_port = htons(portno++);
        if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) 
            error("ERROR connecting");
        bzero(buffer,256);
        n = write(sockfd,buffer,strlen(buffer));
        if (n < 0) 
             error("ERROR writing to socket");
        bzero(buffer,256);
        n = read(sockfd,buffer,255);
        if (n < 0) 
             error("ERROR reading from socket");
        int sf=0;
        for(int i=0;i<=strlen(buffer)-1;i++){
         if(buffer[i]=='@'){
          sf=i; 
         }
         if(sf==0){
          cuser.user_name[i]=buffer[i]; 
         } else {
          cuser.host_name[i-sf]=buffer[i+1]; 
         }
        }
        users.push_back(cuser);
         cout << cuser.user_name << " hostname: " << cuser.host_name << endl;
        printf("Enter file name:\n");
        fgets(file_name,255,stdin);
            n = write(sockfd,file_name,255);
        if (n < 0) 
             error("ERROR writing to socket");
         bzero(file_name,256);
         n = read(sockfd,file_path,100000);
        if (n < 0) 
             error("ERROR reading from socket");
        printf("\n%s\n",file_path);
        memset(file_path,'\0',100000);
         close(sockfd);
        }
        printf("\n\tRegistered users\n");
       for(int i=0; i < users.size(); i++)
       {
          cout << users[i].user_name << " hostname: " << users[i].host_name << endl;
       }
        close(sockfd);return 0;
    }

    Регистрация клиента на сервере

    AliceGoth, 23 Июля 2012

    Комментарии (33)
  8. C# / Говнокод #311

    +1.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    while (true) {
        try {
            break;
        }
        catch {
    
        }
    }

    интересно сработает?

    guest, 30 Декабря 2008

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

    +1

    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
    $css .= '<link rel="stylesheet" href="' . STATIC_SERVER . 'css/' . $mobilecss . '">';
    	
      // April 2024
      $css .= '<link rel="stylesheet" href="' . STATIC_SERVER . 'css/xa24extra.css">';
      
    	if (SHOW_COUNTRY_FLAGS) {
    		$css .= '<link rel="stylesheet" href="' . STATIC_SERVER . 'css/flags.' . CSS_VERSION_FLAGS . '.css">';
    	}
      
      if (ENABLE_BOARD_FLAGS) {
        $_flags_type = (defined('BOARD_FLAGS_TYPE') && BOARD_FLAGS_TYPE) ? BOARD_FLAGS_TYPE : BOARD_DIR;
        $css .= '<link rel="stylesheet" href="' . STATIC_SERVER . 'image/flags/' . $_flags_type . '/flags.' . CSS_VERSION_BOARD_FLAGS . '.css">';
      }
      
    	if( CODE_TAGS ) {
    		$css .= '<link rel="stylesheet" href="' . STATIC_SERVER . 'js/prettify/prettify.' . CSS_VERSION . '.css">';
    	}
    
    	// Various optional tags
    	if( USE_RSS == 1 ) {
    		$rss = '<link rel="alternate" title="RSS feed" href="/' . BOARD_DIR . '/index.rss" type="application/rss+xml">';
    	}
    
    	if( RTA == 1 ) {
    		$rta = '<meta name="rating" content="adult">';
    	}
    
    	if( defined( 'FAVICON' ) ) {
    		$favicon = '<link rel="shortcut icon" href="' . FAVICON . '">';
    	}
    	
    	$thread_unique_ips = 0;
    	$jsUniqueIps = '';
    	
    	if (SHOW_THREAD_UNIQUES) {
        if ($res) {
          $thread_unique_ips = get_unique_ip_count($res);
        }
        
        if ($thread_unique_ips) {
          $jsUniqueIps = 'var unique_ips = ' . $thread_unique_ips . ';';
        }
    	}
      
    	// js tags
    	$jsVersion   = TEST_BOARD ? JS_VERSION_TEST : JS_VERSION;
    	$comLen      = MAX_COM_CHARS;
    	$styleGroup  = style_group();
    	$maxFilesize = MAX_KB * 1024;
    	$maxLines    = MAX_LINES;
    	$jsCooldowns = json_encode(array(
    		'thread' => RENZOKU3,
    		'reply' => RENZOKU,
    		'image' => RENZOKU2
    	));
      
    	$tailSizeJs = '';
    	
      if ($res) {
        $tailSize = get_json_tail_size($res);
        
        if ($tailSize) {
          $tailSizeJs = ",tailSize = $tailSize";
        }
      }

    «Форчан» поломали.

    ISO, 15 Апреля 2025

    Комментарии (25)
  10. Куча / Говнокод #29113

    +1

    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
    Мне часто снится один и тот же сон, я растворяюсь в нем. Это события сорокапятилетней давности, которые все еще живы, свежи и 
    продолжают волновать меня.
    ...В нашем доме живет мальчик Рамон. Ему четырнадцать лет. Я дружен ним и его маленьким братом Рамилем. 
    С ними мы часто носимся по двору, но иногда придумываем и более разнузданные развлечения, вроде прыжков с обрыва. 
    Иногда мы забираемся в грушовый сад еврея-бобыля, живущего по соседству. Не единожды мне доставалось от шалостей, 
    на которые подстегнул меня Рамон. Едва взглянув на его выразительное, смуглое, в царапинах, лицо, моментально поддаешься 
    чарам иссиня-голубых пронзительных глаз. И не понять сразу, какой бедовый нрав имеет их хозяин. Когда же это осознание 
    приходит, то бывает уже поздно. Слишком поздно.
    Вот и сейчас, словно сквозь пелену, я слышу елейно-приторный голос Рамона, предлагающего навестить сад, и последующее 
    осознание того, что я не смогу ему отказать. И вот - ватага мальчишек, среди которых я, украдкой пробирается в чужой сад, чтобы 
    полакомиться сладкими грушами. Досыта наевшись, мы продолжаем бродить по саду с перемазанными липкой сладостью рожами, 
    но вдруг раздается скрип калитки, а за ним следует вопль. Ребятишки в ужасе соскакивают с деревьев и бросаются наутек. 
    Еврей с красным от злости лицом гонится за нами, растопырив руки. Я явственно вижу его перекошенное лицо и чувствую 
    близость рук с короткими пальцами. Рамиль и Рамон ловко подтянувшись, залезают на каменный забор и прыгают вниз, а за ними я. 
    Поняв, что догнать нас ему не под силу, хозяин начинает швырять камни. Один из них больно ударяет меня в спину. 
    Я просыпаюсь от дикой боли...
    ...С тех пор минуло сорок пять лет. А однажды мне приснился сон, словно я опять ребенком лезу в чужой сад, и въявь услыхал смех 
    Рамона. Как и много лет назад, вбежал еврей и начал швырять в сорванцов камни. Но вопреки всему, в этот раз я не последовал за 
    ними, вдруг вспомнив, что уже достаточно пожилой и что у меня больные суставы. Я обреченно замер на месте, и... оглянулся. 
    К моему удивлению, еврей пробежал мимо, словно не заметив. Вот он уже у самой ограды пытается схватить беглецов за носок 
    и пятку, но они ловко исчезают за гребнем. Отдышавшись, старик заковылял назад.

    -Они бросили тебя одного и удрали. Подумай, годятся ли они тебе в друзья. Сейчас они заманили тебя в мой сад, зная, что за это тебе достанется, а когда вырастут, могут толкнуть на преступление и посерьезнее. - Эти слова были излишни, я уже и сам прекрасно все понял. - Ну не стой же как столб, помоги мне прибрать беспорядок, что вы тут устроили. Я поспешил взять в руки грабли. Еврей стоял скрестив руки на животе, словно любуясь, и лишь изредка давал указания. Когда сломанные сучья и давленные плоды были собраны, хозяин улыбнулся: -Можешь подобрать вон те упавшие груши, - он указал вглубь сада. - Снеси их твоей матери. Затем он растворил передо мной щеколду и я вышел на улицу...
    Я долго думал, что означает этот сон, и мало помалу, меня одолели воспоминания. Не выдержав их зова, я отпросился с работы и сел на автобус.

    Не сразу я узнал родные места, многое здесь именилось. На месте нашего кишлака теперь стоит новая школа - там учатся ребятишки, и на переменках часто слышен их звонкий смех. Старый еврей давно умер. Дом его снесли, сад попал под топор. Семья Рамона переехала жить в Ташкент. Словом, от прошлого не осталось и следа. Хотя, нет. Оно живо и всегда будет жить в моей памяти. Эти мысли приятны, на душе от них становится теплее.

    ...Посещая места, где прошло детство, невольно робеешь. И смахиваешь слезу, сознавая, что все здесь теперь по-другому. Но такова жизнь. Безусловно, трехчасовой путь того стоил. Идя по дороге к к автобусу, я свернул за угол - в магазинчик. Смуглая черноглазая девушка улыбнулась. Дайте мне, пожалуйста, вон тех груш. Полкило. Вот деньги.
    01.04.25

    doomginho, 01 Апреля 2025

    Комментарии (0)
  11. Си / Говнокод #29100

    +1

    1. 1
    Почему при таком обилии языков программирования ассемблер не уходит в туман?

    К нему возвращаются опять и опять, и, что удивительно, тем чаще, чем язык высокоуровневей.

    Напоминает попытки быдла бросить курить.

    KPblCA, 08 Марта 2025

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