1. Список говнокодов пользователя GovnocoderJr

    Всего: 9

  2. Pascal / Говнокод #3311

    +98

    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
    95. 95
    96. 96
    97. 97
    98. 98
    //это как бы сортировка приоритетов
    Try
    Prior1:=StrToInt(Edit1.Text);
    Prior2:=StrToInt(Edit2.Text);
    Prior3:=StrToInt(Edit3.Text);
    Prior4:=StrToInt(Edit4.Text);
    Prior5:=StrToInt(Edit5.Text);
    except
    ShowMessage('Íåâåðíî çàäàíû ïðèîðèòåòû');   exit;
    end;
    min1:=100;
    If prior1<min1 then begin min1:=prior1; nmin1:=1; end;
    If prior2<min1 then begin min1:=prior2; nmin1:=2; end;
    If prior3<min1 then begin min1:=prior3; nmin1:=3; end;
    If prior4<min1 then begin min1:=prior4; nmin1:=4; end;
    If prior5<min1 then begin min1:=prior5; nmin1:=5; end;
    min2:=100;
    If (prior1<min2)and(prior1>min1) then begin min2:=prior1; nmin2:=1; end;
    If (prior2<min2)and(prior2>min1) then begin min2:=prior2; nmin2:=2; end;
    If (prior3<min2)and(prior3>min1) then begin min2:=prior3; nmin2:=3; end;
    If (prior4<min2)and(prior4>min1) then begin min2:=prior4; nmin2:=4; end;
    If (prior5<min2)and(prior5>min1) then begin min2:=prior5; nmin2:=5; end;
    min3:=100;
    If (prior1<min3)and(prior1>min2) then begin min3:=prior1; nmin3:=1; end;
    If (prior2<min3)and(prior2>min2) then begin min3:=prior2; nmin3:=2; end;
    If (prior3<min3)and(prior3>min2) then begin min3:=prior3; nmin3:=3; end;
    If (prior4<min3)and(prior4>min2) then begin min3:=prior4; nmin3:=4; end;
    If (prior5<min3)and(prior5>min2) then begin min3:=prior5; nmin3:=5; end;
    min4:=100;
    If (prior1<min4)and(prior1>min3) then begin min4:=prior1; nmin4:=1; end;
    If (prior2<min4)and(prior2>min3) then begin min4:=prior2; nmin4:=2; end;
    If (prior3<min4)and(prior3>min3) then begin min4:=prior3; nmin4:=3; end;
    If (prior4<min4)and(prior4>min3) then begin min4:=prior4; nmin4:=4; end;
    If (prior5<min4)and(prior5>min3) then begin min4:=prior5; nmin4:=5; end;
    min5:=100;
    If (prior1<min5)and(prior1>min4) then begin min5:=prior1; nmin5:=1; end;
    If (prior2<min5)and(prior2>min4) then begin min5:=prior2; nmin5:=2; end;
    If (prior3<min5)and(prior3>min4) then begin min5:=prior3; nmin5:=3; end;
    If (prior4<min5)and(prior4>min4) then begin min5:=prior4; nmin5:=4; end;
    If (prior5<min5)and(prior5>min4) then begin min5:=prior5; nmin5:=5; end;
    
    //далее горы подобного кода (где-то 20-30 страниц):
    hile t<=60 do begin
    Application.ProcessMessages;
    
    t:=t+1;
    Sleep(100);
    
        If nmin1=1 then begin
    
        If t-tpi1=t1 then begin
        i1:=i1+1;
        datetime:=now;
    x1:=random(311)/10+29+random(10)/10;
    table1.Insert;
    table1.FieldByName('znachenie').AsFloat:=x1;
    table1.FieldByName('datchik').AsInteger:=1;
    table1.FieldByName('oshibka').AsBoolean:=False;
    table1.FieldByName('krit').AsBoolean:=False;
    table1.FieldByName('DateTime').AsDateTime:=Datetime;
    series1.AddXY(i1, x1, '',clred);
    if (x1>60)or(x1<30) then
    begin
    table1.FieldByName('oshibka').AsBoolean:=True;
      if (x1>60.5)or(x1<29.5) then begin
      table1.FieldByName('krit').AsBoolean:=True;
      Label1.Visible:=True;
      end;
    end;
    table1.Post;
    tpi1:=t;
    end; //end if
    
    end;
    If nmin1=2 then begin
    
       If t-tpi2=t2 then begin
       i2:=i2+1;
       datetime:=now;
    x2:=random(211)/10+9+random(10)/10;
    table1.Insert;
    table1.FieldByName('znachenie').AsFloat:=x2;
    table1.FieldByName('datchik').AsInteger:=2;
    table1.FieldByName('oshibka').AsBoolean:=False;
    table1.FieldByName('krit').AsBoolean:=False;
    table1.FieldByName('DateTime').AsDateTime:=Datetime;
    series2.AddXY(i2, x2, '',clgreen);
    if (x2>30)or(x2<10) then
    begin
    table1.FieldByName('oshibka').AsBoolean:=True;
      if (x2>30.5)or(x2<9.5) then begin
      table1.FieldByName('krit').AsBoolean:=True;
      Label1.Visible:=True;
      end;
    end;
    table1.Post;
    tpi2:=t;
    end;

    курсовая работа одного студента (идущего на красный диплом, кстати)

    GovnocoderJr, 25 Мая 2010

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

    +260.9

    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
    7855BD60 55               push        ebp  
    7855BD61 8B EC            mov         ebp,esp 
    7855BD63 56               push        esi  
    7855BD64 33 C0            xor         eax,eax 
    7855BD66 50               push        eax  
    7855BD67 50               push        eax  
    7855BD68 50               push        eax  
    7855BD69 50               push        eax  
    7855BD6A 50               push        eax  
    7855BD6B 50               push        eax  
    7855BD6C 50               push        eax  
    7855BD6D 50               push        eax  
    7855BD6E 8B 55 0C         mov         edx,dword ptr [ebp+0Ch] 
    7855BD71 8D 49 00         lea         ecx,[ecx] 
    7855BD74 8A 02            mov         al,byte ptr [edx] 
    7855BD76 0A C0            or          al,al 
    7855BD78 74 09            je          7855BD83 
    7855BD7A 83 C2 01         add         edx,1 
    7855BD7D 0F AB 04 24      bts         dword ptr [esp],eax 
    7855BD81 EB F1            jmp         7855BD74 
    7855BD83 8B 75 08         mov         esi,dword ptr [ebp+8] 
    7855BD86 8B FF            mov         edi,edi 
    7855BD88 8A 06            mov         al,byte ptr [esi] 
    7855BD8A 0A C0            or          al,al 
    7855BD8C 74 0C            je          7855BD9A 
    7855BD8E 83 C6 01         add         esi,1 
    7855BD91 0F A3 04 24      bt          dword ptr [esp],eax 
    7855BD95 73 F1            jae         7855BD88 
    7855BD97 8D 46 FF         lea         eax,[esi-1] 
    7855BD9A 83 C4 20         add         esp,20h 
    7855BD9D 5E               pop         esi  
    7855BD9E C9               leave            
    7855BD9F C3               ret

    чудеса оптимизации

    GovnocoderJr, 14 Февраля 2010

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

    +48.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #define begin {
    #define end }
    //....
    #define repeat do{
    #define until(a) }while(!(a))
    // и т.д.

    Боян, конечно, просто вспомнил, глядя на предыдущий говнокод с макросами. Это в институте препод на одной из лекций всерьёз писал на доске.
    Видимо, паскальщик еще советской закалки :)

    GovnocoderJr, 02 Февраля 2010

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

    +63.8

    1. 1
    const size_t& len() const {return _c_str?_len:*(size_t*)0;} //нах это нужно??

    P.S. А Я САМ НЕ ЗНАЮ ГДЕ ЗДЕСЬ СИ-КРЕСТ-КРЕСТ!!!!1

    GovnocoderJr, 02 Февраля 2010

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

    +92.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    string* newstr()
    {
        string* str;
        return memset(str=malloc(sizeof(string)), 0, str?sizeof(string):0);
    }

    GovnocoderJr, 23 Января 2010

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

    +144.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    string& operator+= (string const& str)
        {
            if(const size_t str_size = str.size())
                _c_str = (char*)memcpy((char*)realloc(_c_str, _size+str_size+1)+_size, str.c_str(), str_size+1)-_size, //0_o
                _size += str_size;
            return *this;
        }

    GovnocoderJr, 22 Января 2010

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

    +103.8

    1. 1
    2. 2
    3. 3
    4. 4
    TblCashBook.First();
        while not TblCashBook.Eof do begin
          if not (TblCashBook.FieldByName('Date').AsDateTime <=
              ReportDate) then Continue;

    GovnocoderJr, 19 Января 2010

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

    +65

    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
    for(;;)
        {
            try
            {
                game();
            }
            catch(game_end e)
            {
                if(e.reason == GAME_WIN)
                {
                    printf("** Would you like to play again? (y-n) ");
                    if(get_y_n()) continue;
                    break;
                }
                else if(e.reason == GAME_LOSE)
                {
                    printf("** Try again? (y-n) ");
                    if(get_y_n()) continue;
                    printf("** Are you coward? (y-n) ");
                    if(get_y_n()) break;
                    printf("** Try again? (y-n) ");
                    if(get_y_n()) continue;
                    break;
                }
                else if(e.reason == GAME_RESTART)
                {
                    continue;
                }
                else
                {
                    break;
                }
            }
        }

    Писал игру в школе

    GovnocoderJr, 16 Января 2010

    Комментарии (10)
  10. Pascal / Говнокод #2423

    +102.5

    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
    procedure TFrmCashBook.ButtonGroupDeleteClick(Sender: TObject);
    var
      CmpField : String;
      CmpOperator : String;
      StringToCmp : String;
      DeletedCount : Integer;
    begin
      if MessageDLG('Âû óâåðåíû?', mtConfirmation,
        [mbYes,mbNo],0) <> mrYes then Exit;
    
      CmpField := GroupDeleteSelectFieldComboBox.Text;
      CmpOperator := GroupDeleteSelectComparisonOperatorComboBox.Text;
      // âîçìîæíûå îïåðàòîðû '=', '>', '>=', '<', '<='
    
      StringToCmp := GroupDeleteEdit.Text;
    
      DeletedCount := 0;
      with DM.TblCashBook do begin
        First();
        while not EOF do begin
          if ( (CmpOperator = '=' ) and
               (FieldByName(CmpField).AsString = StringToCmp ) ) or
             ( (CmpOperator = '>' ) and
               (FieldByName(CmpField).AsString > StringToCmp) ) or
             ( (CmpOperator = '>=') and
               (FieldByName(CmpField).AsString >= StringToCmp) ) or
             ( (CmpOperator = '<' ) and
               (FieldByName(CmpField).AsString < StringToCmp) ) or
             ( (CmpOperator = '<=') and
               (FieldByName(CmpField).AsString <= StringToCmp) ) then
          begin
            Delete();
            DeletedCount := DeletedCount + 1;
          end
          else //åñëè çàïèñü óäàëåíà, next() íå íóæåí
            Next();
        end;
      end; //with
      ShowMessage('Óäàëåíî çàïèñåé: ' + inttostr(DeletedCount));
    end;

    GovnocoderJr, 16 Января 2010

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