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

    В номинации:
    За время:
  2. Куча / Говнокод #5341

    +129

    1. 1
    2. 2
    3. 3
    <meta name="generator" content="Adobe GoLive">
    		<link rel="stylesheet" href="file:////prioris/Site-IAC/new/web-content/images/mak.css" type="text/css">
    		<script language="javascript" src="file:////prioris/Site-IAC/new/web-content/images/mak.js"></script>

    Зашел, значит, на сайт МАКа почитать из первых рук расшифровки переговоров диспетчеров и пилотов, заодно узнать, - какой же нецензурной бранью пользуются Российские диспетчеры, когда у тебя под носом падает самолет со всей польской верхушкой :)
    Вот она, сила Adobe GoLive. А ведь, я думаю, эти страницы (если и англ. версия) посетили за прошедшие дни многие люди из многих стран. Вот такой вот фейл.
    Страница висит с 10 апреля, а никто так и не заметил.
    Алсо, веселит возможность скачать все переговоры через BitTorrent. Это очень хорошо, я был приятно удивлен, но вот так борются в России с "пиратскими" протоколами P2P. Интересно, еще какая страна выложила бы на скачку материалы через Торрент? Готов поспорить, что там будут одни польские и русские айпишники. И Белого Дома :) Сейчас поставлю на закачку, проверим-с. Стоп, а может быть так наши решили отмониторить по айпишникам - кто пользуется торрентом? Аааа, пативены едут!

    7ion, 20 Января 2011

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

    +123

    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
    WebClient webClient = new WebClient();
                int i = 1;
                while (true)
                {
                    try
                    {
                        webClient.DownloadFile("http://sayt.ru/" + i.ToString() + ".exe", @i.ToString() + ".exe");
                        number += 1;
                                           
                    }
                    catch
                    {
                     break; 
                    }
             }

    qbasic, 09 Января 2011

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

    +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
    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
    /*
                    -----------------------------------------------------------------
                    Список топиков
                    -----------------------------------------------------------------
                    */
                    $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='t' AND `refid`='$id'" . ($rights >= 7 ? '' : " AND `close`!='1'")), 0);
                    if ($user_id && !$ban['1'] && !$ban['11']) {
                        // Кнопка создания новой темы
                        echo '<div class="gmenu"><form action="index.php?act=nt&id=' . $id . '" method="post"><input type="submit" value="' . $lng_forum['new_topic'] . '" /></form></div>';
                    }
                    if ($total) {
                        $req = mysql_query("SELECT * FROM `forum` WHERE `type`='t'" . ($rights >= 7 ? '' : " AND `close`!='1'") . " AND `refid`='$id' ORDER BY `vip` DESC, `time` DESC LIMIT $start, $kmess");
                        while ($res = mysql_fetch_assoc($req)) {
                            if($res['close'])
                                echo '<div class="rmenu">';
                            else
                                echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
                            $nikuser = mysql_query("SELECT `from` FROM `forum` WHERE `type` = 'm' AND `close` != '1' AND `refid` = '" . $res['id'] . "' ORDER BY `time` DESC LIMIT 1");
                            $nam = mysql_fetch_assoc($nikuser);
                            $colmes = mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='m' AND `refid`='" . $res['id'] . "'" . ($rights >= 7 ? '' : " AND `close` != '1'"));
                            $colmes1 = mysql_result($colmes, 0);
                            $cpg = ceil($colmes1 / $kmess);
                            $np = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_rdm` WHERE `time` >= '" . $res['time'] . "' AND `topic_id` = '" . $res['id'] . "' AND `user_id`='$user_id'"), 0);
                            // Значки
                            $icons = array(
                                ($np ? (!$res['vip'] ? '<img src="../theme/' . $set_user['skin'] . '/images/op.gif" alt=""/>' : '') : '<img src="../theme/' . $set_user['skin'] . '/images/np.gif" alt=""/>'),
                                ($res['vip'] ? '<img src="../theme/' . $set_user['skin'] . '/images/pt.gif" alt=""/>' : ''),
                                ($res['realid'] ? '<img src="../theme/' . $set_user['skin'] . '/images/rate.gif" alt=""/>' : ''),
                                ($res['edit'] ? '<img src="../theme/' . $set_user['skin'] . '/images/tz.gif" alt=""/>' : '')
                            );
                            echo functions::display_menu($icons, ' ', ' ');
                            echo '<a href="index.php?id=' . $res['id'] . '">' . $res['text'] . '</a> [' . $colmes1 . ']';
                            if ($cpg > 1) {
                                echo '<a href="index.php?id=' . $res['id'] . '&page=' . $cpg . '"> >></a>';
                            }
                            echo '<div class="sub">';
                            echo $res['from'];
                            if (!empty($nam['from'])) {
                                echo ' / ' . $nam['from'];
                            }
                            $vrp = $res['time'] + $set_user['sdvig'] * 3600;
                            echo ' <span class="gray">(' . date("d.m.y / H:i", $vrp) . ')</span></div></div>';
                            ++$i;
                        }
                        unset($_SESSION['fsort_id']);
                        unset($_SESSION['fsort_users']);
                    } else {
                        echo '<div class="menu"><p>' . $lng_forum['topic_list_empty'] . '</p></div>';
                    }

    JohnCMS 4, forum/index.php
    Автор мало того, что не знает о шаблонизации, но и незнает ещё о вреде запросов в цикле

    NadiaVita, 28 Декабря 2010

    Комментарии (31)
  5. Си / Говнокод #4883

    +146

    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
    #include <fcntl.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <string.h>
    
    // man sendfile
    
    int main (int argc, char **argv, char **envp) {
      while(
    	  (
    	    argc < 0 // true if all ok, false on first iter
    	    ||  
    	    (
    	      argc != 2 // true if error
    	      && 
    	      (printf("usage %s filename\n", argv[0]) && 0 == (argc = 0))// show error (true)
    	    ) // true if error, and argc == 0
    	    ||
    	    (
    	      ((argc = open(argv[1], O_RDONLY) * -1) < 0) // false if error
    	      ||
    	      (printf("cannot open %m\n") && 0 == (argc = 0))// show error (true)
    	    ) 
    	  ) // true if all ok, also argc != 0
    	  && 
    	  (
    	    argc < 0 // if open success this is true
    	    &&
    	    (read(argc * -1, memset(envp[1], 0, 1025), 1024) > 0 && printf("%s", envp[1])) || (close(argc * -1))
    	  )
           ) ;
    }

    работает и под linux и под cygwin (gcc какие были под рукой)

    затрудняюсь определить парадигму :)

    Anonimous, 09 Декабря 2010

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

    +154

    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
    ////.....
    			// 
    			// button2
    			// 
    			this->button2->Name = L"button2";   //Кнопка с номером 2,
    			this->button2->Text = L"3";         //текстом "3"
    			            //и вызывающая обработчик кнопки 1.
    			this->button2->Click += gcnew System::EventHandler(this, &Form1::button1_Click); 
    			// 
    			// button3
    			// 
    			this->button3->Name = L"button3"; //Кнопка с номером 3,
    			this->button3->Text = L"5";       //текстом "5"
    			            //тоже вызывающая обработчик кнопки 1
    			this->button3->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
    ////.....
    #pragma endregion
    	private: System::Void button6_Click(System::Object^  sender, System::EventArgs^  e) {
    			 }
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    
    			 if (Form1::textBox1->Text=="0")
    Form1::textBox1->Text=((System::Windows::Forms::Button^ )sender)->Text;
    			 else
    				 Form1::textBox1->Text+=((System::Windows::Forms::Button^ )sender)->Text;
    		 }
    private: System::Void button17_Click(System::Object^  sender, System::EventArgs^  e) {
    			 Form1::textBox1->Text="0";
    			 m_Box=0;		 }
    private: System::Void button15_Click(System::Object^  sender, System::EventArgs^  e) {
    			 float x = float::Parse(Form1::textBox1->Text);
    
    			 m_Box = float::Parse(Form1::textBox1->Text);
    			
    			  Form1::textBox1->Text="";
    			 oper =((System::Windows::Forms::Button^)sender)->Text;
    		 }
    private: System::Void button16_Click(System::Object^  sender, System::EventArgs^  e) {
    			 float x = float::Parse(Form1::textBox1->Text);
    			
    if (oper=="+")
    m_Box+=x;
    if(oper=="-")
    m_Box-=x;
    if(oper=="*")
    m_Box*=x;
    if (oper=="/")
    m_Box /=x;
    Form1::textBox1->Text=m_Box.ToString();
    		 }
    };
    }

    Это кусок простейшего калькулятора одной девушки. Кроме всего прочего вышеописанный код составляющий единственную логику приложения находится в "Form1.h".

    nekotwi, 27 Октября 2010

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

    +105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    str_sql = " select convert(varchar(6),e.id) as  equipment_id,e.name as name,1 as is_check  " +
                              "         ,(select count(t2.id) from equipment t2 where t2.parent_id=e.id) count_child" +
                              " from equipment e " +
                              " where isnull(e.parent_id,0)=" + e.Node.Value +
                              "       and id in (select cod from f_DisplayEqipmentContract_nodes_2(" + str_contract + "))";

    а вот так мы собираем sql запрос

    madnezz, 02 Августа 2010

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

    +108

    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
    class Matrix
    {
        double[,] matrix;
        int rows, columns;
    
        // Не вызывается до закрытия приложения
        ~Matrix()
        {
            Console.WriteLine("Finalize");
        }
    
        public Matrix(int sizeA, int sizeB)
        {
            rows = sizeA;
            columns = sizeB;
            matrix = new double[sizeA, sizeB];
        }
    
        // Индексатор для установки/получения элементов внутреннего массива
        public double this[int i, int j]
        {
            set { matrix[i,j] = value; }
            get { return matrix[i,j]; }
        }
    
        // Возвращает число строк в матрице
        public int Rows
        {
            get { return rows; }
        }
    
        // Возвращает число столбцов в матрице
        public int Columns
        {
            get { return rows; }
        }
    
    }

    Нашёл в статье из MSDN'а

    FMB, 10 Июля 2010

    Комментарии (31)
  9. JavaScript / Говнокод #3576

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $(document).ready(function () {
    	$('.input_control').attr('checked', true);
    	$('.input_control').click(function () {
    		if ($('input[name=' + $(this).attr('value') + ']').attr('disabled') == false) {
    			$('input[name=' + $(this).attr('value') + ']').attr('disabled', true);
    		} else {
    			$('input[name=' + $(this).attr('value') + ']').attr('disabled', false);
    		}
    	});
    });

    Переключаем disabled поля по чекбоксу™.
    Источник — http://ruseller.com/lessons.php?rub=32&id=600

    eval, 27 Июня 2010

    Комментарии (31)
  10. Си / Говнокод #3575

    +140

    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
    int 
    grub_auth_strcmp (const char *user_input, const char *template) 
    { 
      int ok = 1; 
      const char *ptr1, *ptr2; 
      for (ptr1 = user_input, ptr2 = template; *ptr1; ptr1++) 
        if (*ptr1 == (ptr2 ? *ptr2 : ptr1[1]) && ok && ptr2 != NULL) 
          ptr2++; 
        else 
          ok = 0; 
     
      return !ok; 
    }

    Несвежий говнокод (давно пропатчено) и, возможно, кто-то скажет "баян", однако оставлю это здесь.
    Код из загрузчика grub 1.97, проверка пароля. Принимает за верный пароль любую подстроку пароля.

    cfdev, 27 Июня 2010

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

    +148

    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
    93. 93
    94. 94
    int main()
    {
    	int chisl,znam,cel;
    	Fraction fA,fB,fC;
    	cout<<"Vvedite fA v vide dvux 4isel\n";cin>>fA.chisl>>fA.znam;
    	cout<<"Vvedite fB v vide dvux 4isel\n";cin>>fB.chisl>>fB.znam;
    	cout<<"Vvedite celoe chislo\n";cin>>cel;
    	if ((fA.znam!=0)&&(fB.znam!=0)&&(cel!=0))
    	{
    	fC=fA+fB;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Summa: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Summa: "<< chisl <<'\n';
    	fC=fA-fB;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Raznost: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Raznost: "<< chisl <<'\n';
    	fC=fA*fB;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Proizvedenie: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Proizvedenie: "<< chisl <<'\n';
    	fC=fA/fB;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0)&&(znam!=0))
    		cout<<"Chastnoe: "<< chisl << "/" << znam <<'\n';
    	else if(znam==0) 
    		cout<<"Chastnogo drobei ne sushestvuet\n";
    	else
    		cout<<"Chastnoe: 0\n";
    	fC=fA+cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Summa 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Summa 1 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fA-cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Raznost 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Raznost 1 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fA*cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Proizvedenie 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Proizvedenie 1 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fA/cel;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Chastnoe 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Chastnoe 1 drobi i celogo 4isla: 0\n";
    	fC=fB+cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Summa 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Summa 2 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fB-cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Raznost 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Raznost 2 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fB*cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Proizvedenie 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Proizvedenie 2 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fB/cel;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Chastnoe 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Chastnoe 1 drobi i celogo 4isla: 0\n";
    	fC=~fA;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Sokrashennaya drob ravna: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Sokrashennaya drob ravna: "<< chisl <<'\n';
    	}
    	else 
    		cout<<"Znamenatel drobi ili celoe chislo raven nulu, poetomu drobi net"<<'\n';
    	return 0;
    }

    Задача. Определить класс натуральная дробь, объекты которого числитель и знаменатель. Надо перегрузить операторы сложения, вычитания, умножения, делания и сокращения дробей, а так же сложения, вычитания, умножения и деления дроби и целого числа. То есть калькулятор дробей фактически. Написал, как-то жестоко получилось. Добавлю сразу, чтобы не было лишних разговоров. Это не задание в универе, сессия закончилась, каникулы, это для интереса, смотрю то, что мы еще не проходили. Кажется условий слишком много, короче ведь можно сделать?

    ForEveR, 15 Июня 2010

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