1. C++ / Говнокод #8695

    +993

    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
    class A
    {
    public:
     int a;
     int getA(){return a;}
    };
    
    class B: public A
    {
    public:
     int b;
     int getB(){return b;}
    };
    
    class C: public A
    {
    public:
     int c;
     int getC(){return c;}
    };
    
    class D: public C, public B
    {
    public:
     D(): d(0) {}
     int d;
     int getD(){return d;}
    };
    
    int main()
    {
     D d;
     std::cout << d.getD();
    }

    Знакомый программист утверждает, что этот пример является примером "возможности ромбовидного наследования" в С++, совсем забывая, что этот замечательный язык генерирует ромбовидное наследование только при наследовании виртуальном, а пример не раскрывает проблему и наполовину.

    ololo_trololo, 01 Декабря 2011

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

    +127

    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
    //1
               if (EdgePoints[X + 1, Y] == 2)
                {
                    EdgeMap[X + 1, Y] = 1;
                    VisitedMap[X + 1, Y] = 1;
                    Travers(X + 1, Y);
                    return;
                }
                //2
                if (EdgePoints[X + 1, Y - 1] == 2)
                {
                    EdgeMap[X + 1, Y - 1] = 1;
                    VisitedMap[X + 1, Y - 1] = 1;
                    Travers(X + 1, Y - 1);
                    return;
                }
    
               //3
    
                if (EdgePoints[X, Y - 1] == 2)
                {
                    EdgeMap[X , Y - 1] = 1;
                    VisitedMap[X , Y - 1] = 1;
                    Travers(X , Y - 1);
                    return;
                }
    
               //4
    
                if (EdgePoints[X - 1, Y - 1] == 2)
                {
                    EdgeMap[X - 1, Y - 1] = 1;
                    VisitedMap[X - 1, Y - 1] = 1;
                    Travers(X - 1, Y - 1);
                    return;
                }
                //5
                if (EdgePoints[X - 1, Y] == 2)
                {
                    EdgeMap[X - 1, Y ] = 1;
                    VisitedMap[X - 1, Y ] = 1;
                    Travers(X - 1, Y );
                    return;
                }
                //6
                if (EdgePoints[X - 1, Y + 1] == 2)
                {
                    EdgeMap[X - 1, Y + 1] = 1;
                    VisitedMap[X - 1, Y + 1] = 1;
                    Travers(X - 1, Y + 1);
                    return;
                }
                //7
                if (EdgePoints[X, Y + 1] == 2)
                {
                    EdgeMap[X , Y + 1] = 1;
                    VisitedMap[X, Y + 1] = 1;
                    Travers(X , Y + 1);
                    return;
                }
                //8
    
                if (EdgePoints[X + 1, Y + 1] == 2)
                {
                    EdgeMap[X + 1, Y + 1] = 1;
                    VisitedMap[X + 1, Y + 1] = 1;
                    Travers(X + 1, Y + 1);
                    return;
                }

    Разворот циклов ручками
    Автор кода из Индии.
    http://www.codeproject.com/KB/cs/Canny_Edge_Detection.aspx

    killerDJO, 01 Декабря 2011

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

    +106

    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
    #include "stdafx.h"
    #include "math.h"
    #include "stdio.h"
    #include "conio.h"
     
    int main()
    { 
    int p;
    if (p==1 || p==21 || p==31 || p==41 || p==51 || p==61 || p==71 
    || p==81 || p==91   || p==101 || p==121 || p==131 || p==141 || p==151 
    || p==161 || p==171 || p==181 || p==191 || p==201 || p==221 || p==231 
    || p==241 || p==251 || p==261 || p==271 || p==281 || p==291 || p==301
    || p==321 || p==331 || p==341 || p==351 || p==361 || p==371 || p==381
    || p==391 || p==401 || p==421 || p==431 || p==451 || p==461 || p==471 
    || p==481 || p==491 || p==501 || p==521 || p==531 || p==541 || p==551 
    || p==561 || p==571 || p==581 || p==591 || p==601 || p==621 || p==631
    || p==641 || p==651 || p==661 || p==671 || p==681 || p==691 || p==701 
    || p==721 || p==731 || p==741 || p==751 || p==761 || p==771 || p==781 
    || p==791 || p==801 || p==821 || p==831 || p==841 || p==851 || p==861
    || p==871 || p==881 || p==891 || p==901 || p==921 || p==931 || p==941
    || p==951 || p==961 || p==971 || p==981 || p==991 )
    printf("Hruvna\n");
    else 
    {
    if (p>1 && p<5 || p>21 && p<25 || p>31 && p<35 
    || p>41 && p<45 || p>51 && p<55 || p>61 && p<65
    || p>71 && p<75 || p>81 && p<85 || p>91 && p<95
    ||p>101 && p<105 || p>121 && p<125 || p>131 && p<135
    ||p>141 && p<145 || p>151 && p<155 || p>161 && p<165
    ||p>171 && p<175 || p>181 && p<185 || p>191 && p<195
    ||p>201 && p<205 || p>211 && p<215 || p>221 && p<225
    ||p>231 && p<235 || p>241 && p<245 || p>251 && p<255
    ||p>261 && p<265 || p>271 && p<275 || p>281 && p<285
    ||p>291 && p<295 || p>301 && p<305 || p>311 && p<315
    ||p>321 && p<325 || p>331 && p<335 || p>341 && p<345
    ||p>351 && p<355 || p>361 && p<365 || p>371 && p<375
    ||p>381 && p<385 || p>391 && p<395 || p>401 && p<405
    ||p>411 && p<415 || p>421 && p<425 || p>431 && p<435
    ||p>441 && p<445 || p>451 && p<455 || p>461 && p<465
    ||p>471 && p<475 || p>481 && p<485 || p>491 && p<495
    ||p>501 && p<505 || p>511 && p<515 || p>521 && p<525
    ||p>531 && p<535 || p>541 && p<545 || p>551 && p<555
    ||p>561 && p<565 || p>571 && p<575 || p>581 && p<585
    ||p>591 && p<595 || p>601 && p<605 || p>611 && p<615
    ||p>621 && p<625 || p>631 && p<635 || p>641 && p<645
    ||p>651 && p<655 || p>661 && p<665 || p>671 && p<675
    ||p>681 && p<685 || p>691 && p<695 || p>701 && p<705
    ||p>711 && p<715 || p>721 && p<725 || p>731 && p<735
    ||p>741 && p<745 || p>741 && p<745 || p>751 && p<755
    ||p>761 && p<765 || p>771 && p<775 || p>781 && p<785
    ||p>791 && p<795 || p>801 && p<805 || p>811 && p<815
    ||p>821 && p<825 || p>831 && p<835 || p>841 && p<845
    ||p>851 && p<855 || p>861 && p<865 || p>871 && p<875
    ||p>881 && p<885 || p>891 && p<895 || p>901 && p<905
    ||p>911 && p<915 || p>921 && p<925 || p>931 && p<935
    ||p>941 && p<945 || p>951 && p<955 || p>961 && p<965
    ||p>971 && p<975 || p>981 && p<985 || p>991 && p<995)
    printf("Hryvni\n");
    }
     
    if (p>1000)
    printf("Error\n");
    else 
    printf("Hryven\n");
    getch();
    return 0;
    }

    Цитата автора: "Дано натуральное число s (s <= 1000), определяющий денежную сумму (в гривнах). Дать для этого числа название «гривна», «гривны» или «гривен». Составил программу а она не работает" Оригинал здесь: http://www.cyberforum.ru/cpp-beginners/thread258801.html?uri=/cpp-beginners/thread258801.html

    Fenom, 30 Ноября 2011

    Комментарии (33)
  4. Ruby / Говнокод #8691

    −127

    1. 1
    Папка, создаваемая USB Disk Antivirus в корне всех дисков предотвращает заражение компьютера через Autorun. Пожалуйста не изменяйте и не удаляйте ее.

    Напомнило кое-что.

    dos_, 30 Ноября 2011

    Комментарии (7)
  5. JavaScript / Говнокод #8690

    +169

    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
    /*
    Функция раскодирования символов кириллицы.
    Исходные данные должны содержаться в строке $ToDecode.
    Символы кириллицы раскодируются из: ^NN, где NN - номер символа (по очереди на клавиатуре, вначале заглавные буквы).
    01 - Й, 02 - Ц, ... 31 - Б, 32 - Ю, 33 - Ё, 34 - й, 35 - ц, ..., 64 - б, 65 - ю, 66 - ё
    Все символы, кроме раскодируемых данным образом остаются неизменными.
    Добавлены украинские символы.
    */
    function decoding (ToDecode)
      {
      var Result = ''
      var len = ToDecode.length
      var ch=''
      var i = 0
      while (i<len)
        {
        ch = ToDecode.charAt(i)
    
        if (ch == '^')
          {
           ch=ch+ToDecode.charAt(i+1)+ToDecode.charAt(i+2)
           if (ch=='^01') {ch = 'Й';} if (ch=='^02') {ch = 'Ц';} if (ch=='^03') {ch = 'У';}
           if (ch=='^04') {ch = 'К';} if (ch=='^05') {ch = 'Е';} if (ch=='^06') {ch = 'Н';}
           if (ch=='^07') {ch = 'Г';} if (ch=='^08') {ch = 'Ш';} if (ch=='^09') {ch = 'Щ';}
           if (ch=='^10') {ch = 'З';} if (ch=='^11') {ch = 'Х';} if (ch=='^12') {ch = 'Ъ';}
           if (ch=='^13') {ch = 'Ф';} if (ch=='^14') {ch = 'Ы';} if (ch=='^15') {ch = 'В';}
           if (ch=='^16') {ch = 'А';} if (ch=='^17') {ch = 'П';} if (ch=='^18') {ch = 'Р';}
           if (ch=='^19') {ch = 'О';} if (ch=='^20') {ch = 'Л';} if (ch=='^21') {ch = 'Д';}
           if (ch=='^22') {ch = 'Ж';} if (ch=='^23') {ch = 'Э';} if (ch=='^24') {ch = 'Я';}
           if (ch=='^25') {ch = 'Ч';} if (ch=='^26') {ch = 'С';} if (ch=='^27') {ch = 'М';}
           if (ch=='^28') {ch = 'И';} if (ch=='^29') {ch = 'Т';} if (ch=='^30') {ch = 'Ь';}
           if (ch=='^31') {ch = 'Б';} if (ch=='^32') {ch = 'Ю';} if (ch=='^33') {ch = 'Ё';}
           if (ch=='^34') {ch = 'й';} if (ch=='^35') {ch = 'ц';} if (ch=='^36') {ch = 'у';}
           if (ch=='^37') {ch = 'к';} if (ch=='^38') {ch = 'е';} if (ch=='^39') {ch = 'н';}
           if (ch=='^40') {ch = 'г';} if (ch=='^41') {ch = 'ш';} if (ch=='^42') {ch = 'щ';}
           if (ch=='^43') {ch = 'з';} if (ch=='^44') {ch = 'х';} if (ch=='^45') {ch = 'ъ';}
           if (ch=='^46') {ch = 'ф';} if (ch=='^47') {ch = 'ы';} if (ch=='^48') {ch = 'в';}
           if (ch=='^49') {ch = 'а';} if (ch=='^50') {ch = 'п';} if (ch=='^51') {ch = 'р';}
           if (ch=='^52') {ch = 'о';} if (ch=='^53') {ch = 'л';} if (ch=='^54') {ch = 'д';}
           if (ch=='^55') {ch = 'ж';} if (ch=='^56') {ch = 'э';} if (ch=='^57') {ch = 'я';}
           if (ch=='^58') {ch = 'ч';} if (ch=='^59') {ch = 'с';} if (ch=='^60') {ch = 'м';}
           if (ch=='^61') {ch = 'и';} if (ch=='^62') {ch = 'т';} if (ch=='^63') {ch = 'ь';}
           if (ch=='^64') {ch = 'б';} if (ch=='^65') {ch = 'ю';} if (ch=='^66') {ch = 'ё';}
           // украинские символы
           if (ch=='^67') {ch = 'Ї';} if (ch=='^68') {ch = 'І';} if (ch=='^69') {ch = 'Є';}
           if (ch=='^70') {ch = 'Ґ';} if (ch=='^71') {ch = 'ї';} if (ch=='^72') {ch = 'і';}
           if (ch=='^73') {ch = 'є';} if (ch=='^74') {ch = 'ґ';}
           i=i+2
          }
        i=i+1
        Result=Result+ch
        }
      return Result
      }

    А я минут 10 ковырялся думая в каком виде они кириллицу пересылают.

    mr.The, 30 Ноября 2011

    Комментарии (6)
  6. Си / Говнокод #8689

    +111

    1. 1
    2. 2
    3. 3
    for(x = 1; x; x += x)
      if(!(((e*x)%m)/t))
      { x = d; break; }

    Недавно прислали с вопросом: "Тут что-то поломалось, надо исправить... Поможешь?"

    TarTar, 30 Ноября 2011

    Комментарии (45)
  7. PHP / Говнокод #8688

    +164

    1. 1
    2. 2
    3. 3
    if (!isset ($_POST['filter']['state'])) $_POST['filter']['state'] = 0;
    .....
    $state = @$_POST['filter']['state'] ? $_POST['filter']['state'] : 0;

    не, ну а вдруг потеряется

    CRRaD, 30 Ноября 2011

    Комментарии (6)
  8. Perl / Говнокод #8687

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    sub GenRandomHash()
    {
    	my $self=shift;
    	my $number=shift||10;
    	my $plain='';
    	my @chars=('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    	for (my $i=0;$i<$number;$i++)
    	{   
    		$plain.=$chars[rand(59)+2];
    	}
    return $plain;
    }

    Мне бы было лень вбить столько символов :)

    Alikus, 30 Ноября 2011

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

    +147

    1. 1
    http://www.microsoft.com/ru-ru/events/html5camp/

    istem, 30 Ноября 2011

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

    +144

    1. 1
    http://www.microsoft.com/ru-ru/events/html5camp/

    istem, 30 Ноября 2011

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