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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    inline void bubbleSort3(int* data)
    {
        int temp;
    
        if (data[0] > data[1])
        { temp = data[0]; data[0] = data[1]; data[1] = temp; }
        if (data[1] > data[2])
        { temp = data[1]; data[1] = data[2]; data[2] = temp; }
        if (data[0] > data[1])
        { temp = data[0]; data[0] = data[1]; data[1] = temp; }
    };

    Пример "не верной" сортировки. Найдено на просторах Интернета.

    Говногость, 17 Мая 2011

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

    +147

    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
    case 5:
    	   { 
    	    char podr[20];
                int r=1;
    	    puts("Vvedite nazvanie podrazdelenia");
    	    scanf("%s",podr);
    	    for(i=0;i<n;i++)
    			if(!strcmp(podr,s[i].podr))
    			{ r=0;
    			  for(int j=i;j<n;j++) s[j]=s[j+1];
    			  n--; 
                              i--; // костыль
    		    }
    	    if(r) puts("ERROR");
    	    getch();
    	    } break;

    Опять костыль для лабы друга.

    dark-al, 17 Мая 2011

    Комментарии (22)
  3. ActionScript / Говнокод #6694

    −109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    override public function call(... rest):void
    {
    	var callname:String = rest[0];
    	var paramsStr:String = "";
    	
    	for(var i:int = 1; i < rest.length; i++)
    	{
    		paramsStr += rest[i] + ((i == rest.length - 1) ? "" : ",");
    	}
    	
    	ExternalInterface.call("page.appplicationToVideoPage", callname, paramsStr);
    }

    Все тот же автор продолжает говнореализацию встроенных функций и классов. (Особого внимания заслуживает говноархитектура предполагающая вызывать reflection API через reflection. Т.е. page.appplicationToVideoPage - это функция, которая парсит аргументы обратно, и вызывает функцию callname с параметрами полученными из paramsStr. Человека не устроил ExternalInterface, и он решил его тоже, через жопу, реализовать еще раз, средствами, естесственно ExternalInterface).

    wvxvw, 17 Мая 2011

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

    +78

    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
    String Pushkin() {
    
        java.util.Random random = new java.util.Random((long) new java.util.Date().getTime());
            String col0s = null, col1s = null, col2s = null, col3s = null, col4s = null, col5s = null, col6s = null, col7s = null, col8s = null, col9s = null;
    
            String sp = "\u0020";
            int col0, col1, col2, col3, col4, col5, col6, col7, col8, col9;
    
            col0 =random.nextInt(10);
            col1 = random.nextInt(10);
            col2 = random.nextInt(10);
            col3 = random.nextInt(10);
            col4 = random.nextInt(10);
            col5 = random.nextInt(10);
            col6 = random.nextInt(10);
            col7 = random.nextInt(10);
            col8 = random.nextInt(10);
            col9 = random.nextInt(10);
    
            switch (col0) {
                case 0:
                    col0s = "Я помню"; break;
                case 1:
                    col0s = "Не помню";break;
                case 2:
                    col0s = "Забыть бы";break;
                case 3:
                    col0s = "Купите";break;
                case 4:
                    col0s = "Очкуешь";break;
                case 5:
                    col0s = "Какое";break;
                case 6:
                    col0s = "Угробил";break;
                case 7:
                    col0s = "Хреново";break;
                case 8:
                    col0s = "Открою";break;
                case 9:
                    col0s = "Ты чуешь?";break;
            }
    
    // ...
    
            switch (col9) {
                case 0:
                    col9s = "красоты";break;
                case 1:
                    col9s = "мерзлоты";break;
                case 2:
                    col9s = "суеты";break;
                case 3:
                    col9s = "наркоты";break;
                case 4:
                    col9s = "срамоты";break;
                case 5:
                    col9s = "школоты";break;
                case 6:
                    col9s = "типа ты";break;
                case 7:
                    col9s = "простоты";break;
                case 8:
                    col9s = "хреноты";break;
                case 9:
                    col9s = "наготы";break;
            }
    
            return col0s + sp + col1s + sp + col2s + sp + col3s + sp + col4s + ", как " + col5s + sp + col6s + ", как " + col7s + sp + col8s + sp + col9s + ".";
        }

    Формирует вариации на тему Пушкинского "чудного мгновенья". Автор утверждает, что именно так нужно писать код при ограничении по времени написания.

    XapoH, 17 Мая 2011

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

    +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
    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
    #include<iostream>
    using namespace std;
    #include<string.h>
    int main()
    {
    int n;
    int t;
    char s[100];
    cin>>n;
    while(n!=0)
    {
    n--;
    int TTT=0,TTH=0,THT=0,THH=0,HTT=0,HTH=0,HHT=0,HHH=0,H=0,T=0;
    cin>>t;
    cin>>s;
    cout<<s<<"\n";
    int f=0;
    for(int i=0;i<strlen(s);i++)
    {
    if(s[i]=='T' && s[i+1]=='T' && s[i+2]=='T')
    TTT+=1;
    if(s[i]=='T' && s[i+1]=='T' && s[i+2]=='H')
    TTH+=1;
    if(s[i]=='T' && s[i+1]=='H' && s[i+2]=='T')
    THT+=1;
    if(s[i]=='T' && s[i+1]=='H' && s[i+2]=='H')
    THH+=1;
    if(s[i]=='H' && s[i+1]=='T' && s[i+2]=='T')
    HTT+=1;
    if(s[i]=='H' && s[i+1]=='T' && s[i+2]=='H')
    HTH+=1;
    if(s[i]=='H' && s[i+1]=='H' && s[i+2]=='T')
    HHT+=1;
    if(s[i]=='H' && s[i+1]=='H' && s[i+2]=='H')
    TTT+=1;
    if(s[i]=='H'){
    H++;f=1;}
    if(s[i]=='T'){
    T++;f=1;}
    }
    cout<<TTT<<"\n";
    if(H==40)
    cout<<t<<" 0 0 0 0 0 0 0 38\n";
    if(T==40)
    cout<<t<<" 38 0 0 0 0 0 0 0\n";
    if(f==0)
    cout<<t<<" "<<TTT<<" "<<TTH<<" "<<THT<<" "<<THH<<" "<<HTT<<" "<<HTH<<" "<<HHT<<" "<<HHH<<"\n";
    }
    return 0;
    }

    Все и так понятно

    pabloid, 17 Мая 2011

    Комментарии (23)
  6. ActionScript / Говнокод #6691

    −112

    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
    private function getListenerIndex(func:Function):Number
    {
    	var num:Number = -1;
    	
    	for(var i:int = 0; i < mouseWheelListeners.length; i++)
    	{
    		if(func == mouseWheelListeners[i])
    		{
    			num = i;
    			break;
    		}
    			
    	}
    	return num;
    }
    
    public function addMouseWheelListener(subscriberFunc:Function):void
    {
    	if(getListenerIndex(subscriberFunc) == -1)
    		mouseWheelListeners.push(subscriberFunc);
    }

    Отдельного внимания заслуживает тот факт, что человек решил, что индексов в массиве не будет больше чем максимальное цело 32-битное знаковое, и не меньше чем минимальное, а вернул все равно Number. (Для не разбирающихся в AS3 есть Array.indexOf(), метод который делает то, что делает getListenerIndex() в данном примере, только быстрее, и называется по-человечески. Но автор считает, что мануал написан для идиотов...)

    wvxvw, 17 Мая 2011

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

    +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
    const
       ACTON_MAP_DROP = 0,
       ACTON_BOT_DROP = 1,
       ACTON_CHANGE = 2,
       ACTON_USE = 3,
       ACTON_AUTO_USE = 4,
       ACTON_EXPIRE = 5,
       ACTON_MINE_DESTROY = 6,
       ACTON_GET = 0,
       ACTION_OFFLINE = 1,
       ACTION_DIE = 2,
       ACTION_USE = 3,
       ACTON_EXPIRE = 4;

    Радует, что в 3-х константах слово написано правильно. :)

    PaintedBlack, 17 Мая 2011

    Комментарии (40)
  8. Pascal / Говнокод #6689

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    function HexToInt(s: string): integer;
    label
      gte;
    var
      tempt: string;
      i: integer;
    begin
      tempt := '';
      if s = '' then
      begin
        HexToInt := 0;
        goto gte;
      end;
      for i := 1 to Length(s) do
      begin
        tempt := tempt + IntToHex(Ord(s[i]), 2);
      end;
      HexToInt := StrToInt('$' + tempt);
      gte:
    end;

    Ряд гениальных решений из-за незнания особенностей языка.

    Честно взято с: http://www.delphisources.ru/pages/faq/base/hex_to_int.html
    Честно написано автором: Перегинец Иваном ( [email protected] )

    miLord-Corwin, 17 Мая 2011

    Комментарии (88)
  9. Java / Говнокод #6688

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    public boolean intersects(final Range range) {
          return (((range.indexFrom >= this.indexFrom) ? range.indexFrom : this.indexFrom) <=
            ((range.indexTo <= this.indexTo) ? range.indexTo : this.indexTo));
        }

    проверка пересечения двух диапазонов

    Lure Of Chaos, 17 Мая 2011

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

    +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
    <?php
    switch($_GET['action']){
    // ...
    /**
     * Обработка формы редактирования выпусков рассылок.
     * Практически полностью состоит из кастылей, потому ОООЧЕНЬ кривая !!
     */
    case 'add_atach':
        //Удаление атачей, (почему стоит выше, уже не помню, возможно косяк)
        if(isset($_POST['atach_del'])){
            foreach($_POST['atach_del'] as $value){
                 $atach_del_id=(int)$value;
                 $ata_del_rez=$db->Query("SELECT atach_file FROM atach WHERE atach_id='$atach_del_id'");
                 $ata_del_arr=mysql_fetch_array($ata_del_rez);
    // ...
    }
    // ...
    //не работающий блок как всегда, разработка заглохла
    if($div_table_add==''){
    // ...
    }
    // ...
    //собираем всё в кучку
    ?> 
    <table style="background-color:#EFEFDE; border-top-width: 2px; border-right-width: 2px;>...</table>
    <?php
    die();
    break;
    }
    }
    ?>

    А что тут добавить?.. Все предельно доступно описано в комментариях к коду. (С кавычками мог напутать, в этой мешанине даже редактор с подсветкой синтаксиса не помогает)

    Mervin, 17 Мая 2011

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