1. Pascal / Говнокод #4657

    +95

    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
    function  TForm1.beta(i:integer) : integer;
    var bt:integer;
    begin
    bt:=0;
    curI:=i;
    if (alf=1) and (cad=0) then
    begin
    if i<=26 then bt:=2;
    if (i<=36) and (i>=27) then bt:=3;
    if (i<=48) and (i>=37) then  begin  bt:=1; addortolexlist(cT);  end;
    if i=49 then bt:=4;
    if i=50 then bt:=5;
    if i=51 then bt:=6;
    if i=52 then bt:=7;
    end;
    if (alf=2) and (cad=0) then
    begin
    if i<=26 then bt:=2;
    if (i<=36) and (i>=27) then bt:=2;
    end;
    if (alf=3) and (cad=0) then
    begin
    if (i<=36) and (i>=27) then bt:=3;
    end;
    if (alf=4) and (cad=0) then
    begin
    if i=50 then
    begin
     Tl[lexnow].n:=jj;
      Tl[lexnow].subst:='<>';
      Tl[lexnow].lexcod:=21;
      Tl[lexnow].index:=0;
      bt:=1;
       inc(lexnow);
       ii:=ii+1;
    end;
    if i=51 then
    begin
      Tl[lexnow].n:=jj;
      Tl[lexnow].subst:='<=';
      Tl[lexnow].lexcod:=24;
      Tl[lexnow].index:=0;
     bt:=1;
     ii:=ii+1;
        inc(lexnow);
    end;

    Кусок кода из лабораторной работы по трансляторам. Как сказал парень - "Я не умею пользоваться функциями, поэтому я все пишу на массивах" О_о
    Дальше в коде заполнение массивов размерностью в сотню элементов вручную!
    Главное, что всё работает...

    niravzi, 17 Ноября 2010

    Комментарии (1)
  2. Pascal / Говнокод #4656

    +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
    TCalc = Class
      Public
        Order : 1..2;
        BMouseDown : Boolean;
        TSS : TPoint;
        mas : array[1..8,1..8] of Byte;
        Constructor Create;
        Procedure MouseDown (Stroka, Stolb : Byte; Var Bool : Boolean);
        Procedure FiguresCount (Var White, Black : Byte);
        Procedure Messages (i : Byte);
        Procedure Proverka (T : TPoint; Stroka, Stolb : Byte;
                            Var Bool, Double : Boolean; Var Dbl : TPoint);
        Procedure ReloadMas (Str, Stolb : Byte; Point : TPoint; Double : Boolean; DblP : TPoint);
        Procedure BoardHelp (Stroka, Stolb : Byte);
        Procedure NoChangeOrder (Stroka, Stolb : Byte; Var NoChangeOrder : Boolean);
        Procedure Proverka_GoTo (Str, Stolb : Byte; Var masBool : ArrBool;
                                 Var masCoord : ArrCoord);
        Procedure Scanner (Var kol : Byte; Var ScanMas : ArrCoord);
        Procedure PlaySound (Wave : TLMDWaveComp; ind : Byte);
        Procedure FigureTrue (Str, Stolb : Byte);
        Procedure Damka_Go (Fig : TPoint; Str, Stolb : Byte;
                            Var Bool, Double : Boolean; Var Dbl : TPoint);
        Procedure IsDamka_Fight (X, Y : Byte; Var Bool : Boolean; Var Coord : TPoint);                    
    end;

    Объявление класса, отвечающего за логику в игре шашки.
    Объектный подход :)

    ClassVar, 16 Ноября 2010

    Комментарии (6)
  3. Куча / Говнокод #4655

    +144

    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
    program hurma_by_kotobuben;
    uses crt;
    var a,b,c,d:integer;
    begin
    a:=0;
    writeln('Тест: "ЛЮБИТЕ ЛИ ВЫ ХУРМУ?');
    writeln(' ');
    writeln('Вам кажется, что вы отвратительно выглядите, но тут кто-то делает вам комплимент. Ваша реакция?');
    writeln('1. Вздрагиваете от неожиданности. Ведь вы думали, что находитесь в комнате в одиночестве.');
    writeln('2. Вам приятно, но вы постараетесь это скрыть под напускным эпилептическим припадком');
    writeln('3. Вы начинаете покрывать страстными поцелуями свое прекрасное тело');
    read(d);
    clrscr;
    if d=1 then begin
    a:=a+1
    end;
    if d=2 then begin
    b:=b+1
    end;
    if d=3 then begin
    c:=c+1
    end;
    writeln('Вам оторвало голову пропеллером самолета. Как вы поступите?');
    writeln('1.Упадете на взлетное поле, обливаясь кровью');
    writeln('2.Смешно побежите прочь от самолета, махая руками, словно безголовая курица');
    writeln('3.Постараетесь сохранять спокойствие');
       read(d);
    clrscr;
    if d=1 then begin
    a:=a+1
    end;
    if d=2 then begin
    b:=b+1
    end;
    if d=3 then begin
    c:=c+1
    end;
    writeln('Вы принимаете душ и вдруг слышыте телефонный звонок. Ваши действия?');
    writeln('1.Вы продолжаете мытся в душе, делая вид, будто намыливаете подмышки');
    writeln('2.Смешно выбегаете из душа, размахивая руками');
    writeln('3.Спрашиваете совета окружающих');
      read(d);
    clrscr;
    if d=1 then begin
    a:=a+1
    end;
    if d=2 then begin
    b:=b+1
    end;
    if d=3 then begin
    c:=c+1
    end;
    writeln('У вас большые оттопыреные уши. Какой пункт вы выберете?');
    writeln('1.Пункт 1');
    writeln('2.Пункт 2');
    writeln('3.Пункт 3');
       read(d);
    clrscr;
    if d=1 then begin
    a:=a+1
    end;
    if d=2 then begin
    b:=b+1
    end;
    if d=3 then begin
    c:=c+1
    end;
    writeln('ПОДВЕДЕМ ИТОГИ');
    writeln();
    if a>(b+c)/2 then begin
    writeln('Вы независимы, мнение других о хурме для вас ничего не значит');
    end;
    if b>(a+c)/2 then begin
    writeln('В непривычной ситуации вы можете растерятся и смешно побежать, размахивая руками');
    end;
    if c>(a+b)/2 then begin
    writeln('Вы сангвиник, что бы это ни значило');
    end;
    end.

    Паскаль
    Решил сделать тест по мотивам одноименного теста найденного в интернетах

    kotobuben, 16 Ноября 2010

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

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    string[] groups = LoadAllGroups();
    var dt = new DataTable();
    dt.Columns.Add("TEXT", typeof(string));
    foreach (string g in groups)
    {
        DataRow dr = dt.NewRow();
        dr["TEXT"] = g;
        dt.Rows.Add(dr);
    }
    var dv = new DataView(dt) { Sort = "TEXT" };
    adGroups_ddl.DataSource = dv;
    adGroups_ddl.DataBind();

    synapse, 16 Ноября 2010

    Комментарии (1)
  5. SQL / Говнокод #4653

    −122

    1. 1
    2. 2
    ALTER TABLE [dbo].[IssueGroup]  WITH CHECK ADD  CONSTRAINT [FK_IssueGroup_Group] FOREIGN KEY([ProjectId], [GroupId])
    REFERENCES [dbo].[Group] ([GroupId],[ProjectId])

    Часа 2 искал проблему в чужом коде - оказалось, что просто поля ProjectId и GroupId были записаны в разных порядках сначала FOREIGN KEY([ProjectId], [GroupId]), а потом REFERENCES [dbo].[Group] ([GroupId],[ProjectId]).

    vadimliman, 16 Ноября 2010

    Комментарии (2)
  6. Pascal / Говнокод #4652

    +100

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    {Pascal}
    function f( a: boolean ) : boolean;
    begin
    if a then return := f(a) else return := false;
    end;

    При а - истина программа вылетит с переполненным стеком.

    Govnocoder#0xFF, 16 Ноября 2010

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

    +173

    1. 1
    2. 2
    3. 3
    $S=preg_replace('/(\')|(\")|(\,)|(\()|(\))|(\.)|(\‹)|(\:)|(\;)|(\$)|(\#)|(\/)|(\{)|(\})|(\*)|(\ )|(\|)|(\>)|(\<)|(\=)|(\-)|(\[)|(\])|(\!)|(\+)|(\☺)|(\☻)'
                                 .'|(\♥)|(\♦)...................../', '', $S);
    $S=trim($S);

    Регулярные выражения! Супер!

    Yakud, 16 Ноября 2010

    Комментарии (35)
  8. Java / Говнокод #4650

    +143

    1. 1
    2. 2
    3. 3
    if (url == null) {
        throw new RuntimeException("Error reading resource " + url.getFile());
    }

    abatishchev, 16 Ноября 2010

    Комментарии (5)
  9. SQL / Говнокод #4649

    −117

    1. 1
    SELECT * FROM CompanyData d WHERE d.Name = @companyName AND d.EntityID NOT IN (SELECT COUNT(*) FROM...)

    Оригинал потерялся, но особый способ отсевания компаний запомнился. Хорошо, что COUNT(*) возвращал всегда ноль :)

    AlexKhomich, 16 Ноября 2010

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

    +177

    1. 1
    2. 2
    if(strlen($text)) return $text;
    return "";

    ferry-very-good, 16 Ноября 2010

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