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

    +83

    1. 1
    2. 2
    3. 3
    symb("4")begin Хочешь узнать кто посещал твою страницу end; http://reserpo.my1.ru/index.html?opi=!random!
    
    $#4629447380677#$

    Кривой спамбот на паскале кривоспамит в пабликах

    ReckO, 05 Февраля 2012

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

    +91

    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
    if IsThemeActive then
    begin
      ThemePartName := 'TAB';
      ThemeHandle := OpenThemeData(TabSheetQA.Handle, PWideChar(ThemePartName));
      if ThemeHandle <> 0 then
      begin
        ImageClipRect := ImageForBkColorRecalc.ClientRect;
        DrawThemeBackground(ThemeHandle, ImageForBkColorRecalc.Canvas.Handle,
          TABP_BODY, 0, ImageForBkColorRecalc.ClientRect, @ImageClipRect);
        BkColor := ImageForBkColorRecalc.Canvas.Pixels[0, 0];
      end;
      Exit;
    end;

    Надыбано в компоненте Delphi. Код получает начальный цвет градиента панелей Таб-контрола при включенных стилях XP и Aero. Для этого рисует на скрытом TImage его небольшой фрагмент и выдирает угловой пиксель.

    Durik, 03 Февраля 2012

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

    +94

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for k:=1 to 5 do begin
    new (z2);
    z2^.pole1:=k;
    z2^.pole2:=z1;
    z1:=z2;
    end;
    
    for k:=1 to 5 do begin
    z2^.pole3:=z1;
    z1:=z2;
    z2:=z2^.pole2;
    end;

    Вот так в нашем универе учат создавать двунаправленые массивы. Код кстати не только принципиально индусский, но еще и не рабочий.

    Tairesh, 31 Января 2012

    Комментарии (5)
  4. Pascal / Говнокод #9229

    +95

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure TEditor.cbReverseClick(Sender: TObject);
    begin
      T.Reversed := not T.Reversed;
      Show;
    end;

    Вместо
    T.Reversed := cbReverse.Checked;
    Интересно, может ли это создать баг?

    TarasB, 26 Января 2012

    Комментарии (22)
  5. Pascal / Говнокод #9180

    +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
    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
    begin
    writeln('Enter 1st number');
    readln(a);
    writeln('Enter 2st number');
    readln(b);
    writeln('Enter 3st number');
    readln(c);
    
    if a = b then if a = c then if b = c then       ;
    writeln('numbers are');
    
    if a > b then if a = c then if b < c then
    writeln('a Equally c and it is more b')         ;
    
    if a = b then if a > c then if b > c then
    writeln('a Equally b and it is more c')         ;
    
    if a < b then if a < c then if b = c then
    writeln('b Equally c and it is more a')         ;
    
    if a > b then if a > c then if b > c then
    writeln('a it is more ')                        ;
    if a > b then if a > c then if b < c then
    writeln('a it is more ')                        ;
    if a > b then if a > c then if b = c then
    writeln('a it is more ')                        ;
    
    if a < b then if a = c then if b > c then
    writeln('b it is more ')                        ;
    if a < b then if a > c then if b > c then
    writeln('b it is more ')                        ;
    if a < b then if a < c then if b > c then
    writeln('b it is more ')                        ;
    
    if a = b then if a < c then if b < c then
    writeln('c it is more ')                        ;
    if a > b then if a < c then if b < c then
    writeln('c it is more ')                        ;
    if a < b then if a < c then if b < c then
    writeln('c it is more ')                        ;

    Такое выдал один из моих учеников в 10м классе после того, как отказался учится рисовать блок-схемы и сказал, что сразу сможет писать. Задание заключалось в том, чтобы программа выводила большее из 3х введенных пользователем чисел.

    Rage, 20 Января 2012

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // строка добавлена, чтобы сраный парсер говнокода не сжирал пробелы, этого в коде не было
                  end;
                end;
              end;
            end;
          end;
        end;

    Увидел в своём коде.
    Очень сложный алгоритм.

    TarasB, 18 Января 2012

    Комментарии (35)
  7. Pascal / Говнокод #9101

    +84

    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
    {$N+}
    const
    n=5;
    n2=2*n;
    type tRow=array[1..n] of 0..1;
    rRow=array[1..n] of 0..1;
    type tMatrix=array[1..n,1..n2] of double;
    wMatrix=array[1..n,1..n2] of double;
    procedure NewMatrix(var a: tMatrix; n,n2: word; x: double);           var           i,j: word;
              begin
              randomize;
              for i:=1 to n do
              for j:=1 to n2 do
                  a[i,j]:=-2*x+random(Round(4*x));
              end;
    procedure ProcMatrix(var a: tMatrix; n,n2: word; x: double; var b: tRow);          var          i,j: word;
              begin
              for i:=1 to n do
              for j:=1 to n2 do
                  if a[i,j]<=x then b[i]:=1 else
                     begin
                     b[i]:=0;
                     break;
                     end;
              end;
    procedure WriteMatrix(var a: tMatrix; n,n2: word);          var          i,j: word;
              begin
              for i:=1 to n do
                  begin
                  for j:=1 to n2 do write(a[i,j]:6:2);
                  writeln('');
                  end;
              end;
    procedure WriteRow(var b: tRow; n: word);          var          i: word;
              begin
              for i:=1 to n do write(b[i]:2);
              writeln('');
              end;
     procedure NewMatrix1(var q: wMatrix; n,n2: word; x: double);          var          i,j: word;
              begin
              randomize;
              for i:=1 to n do
              for j:=1 to n2 do
                  q[i,j]:=-1.1*x+random(Round(4*x));
              end;
    procedure ProcMatrix1(var q: wMatrix; n,n2: word; x: double; var e: rRow);          var          i,j: word;
              begin
              for i:=1 to n do
              for j:=1 to n2 do
                  if q[i,j]<=x then e[i]:=1 else
                     begin
                     e[i]:=0;
                     break;
                     end;
              end;
    procedure WriteMatrix1(var q: wMatrix; n,n2: word);          var          i,j: word;
              begin
              for i:=1 to n do
                  begin
                  for j:=1 to n2 do write(q[i,j]:6:2);
                  writeln('');
                  end;
              end;
    procedure WriteRow1(var e: rRow; n: word);          var          i: word;
              begin
              for i:=1 to n do write(e[i]:2);
              writeln('');
              end;
    var
    bRow: tRow;
    eRow: rRow;
    aMatrix: tMatrix;
    qMatrix: wMatrix;
    x: double;
    begin
    write('‚ўҐ¤ЁвҐ ўҐйҐб⢥­­®Ґ зЁб«® е: ');
    readln(x);
    NewMatrix(aMatrix,n,n2,x);
    writeln('Њ ваЁж  ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ­   ўв®¬ вЁзҐбЄЁ:');
    WriteMatrix(aMatrix,n,n2);
    NewMatrix1(qMatrix,n,n2,x);
    writeln('Њ ваЁж  ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ­   ўв®¬ вЁзҐбЄЁ:');
    WriteMatrix1(qMatrix,n,n2);
    ProcMatrix(aMatrix,n,n2,x,bRow);
    writeln('Њ ваЁж  ®Ўа Ў®в ­ . Џ®б«Ґ¤®ў вҐ«м­®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ­ ');
    WriteRow(bRow,n);
    ProcMatrix1(qMatrix,n,n2,x,eRow);
    writeln('Њ ваЁж  ®Ўа Ў®в ­ . Џ®б«Ґ¤®ў вҐ«м­®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ­ ');
    WriteRow1(eRow,n);
    writeln('Ќ ¦¬ЁвҐ ENTER');
    readln;
    end.

    Процедуры.
    Даны натуральное число n, действительное число x и две действительные матрицы размера nx2n. Получить последовательность b1,..., bn из нулей и единиц, где bi =1, если элементы i-ой строки матрицы не превосходят x и bi =0 в противном случае.

    siszzz, 12 Января 2012

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

    +81

    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
    { ... }
      writeln('vvedite indexi "X" i "=" 1-ogo uravneniay');
      writeln('x1');
      readln(x11);
      writeln('x2');
      readln(x12);
      writeln('x3');
      readln(x13);
      writeln('x4');
      readln(x14);
      writeln('=');
      readln(x15);
      writeln('vvedite indexi "X" i "=" 2-ogo uravneniay');
      writeln('x1');
      readln(x21);
      writeln('x2');
      readln(x22);
      writeln('x3');
      readln(x23);
      writeln('x4');
      readln(x24);
      writeln('=');
      readln(x25);
      writeln('vvedite indexi "X" i "=" 3-ogo uravneniay');
      writeln('x1');
      readln(x31);
      writeln('x2');
      readln(x32);
      writeln('x3');
      readln(x33);
      writeln('x4');
      readln(x34);
      writeln('=');
      readln(x35);
      writeln('vvedite indexi "X" i "=" 4-ogo uravneniay');
      writeln('x1');
      readln(x41);
      writeln('x2');
      readln(x42);
      writeln('x3');
      readln(x43);
      writeln('x4');
      readln(x44);
      writeln('=');
      readln(x45);
      {веселье - вот зачем это все нужно было))}
      m2[1,1]:=x11;
      m2[1,2]:=x12;
      m2[1,3]:=x13;
      m2[1,4]:=x14;
      m2[2,1]:=x21;
      m2[2,2]:=x22;
      m2[2,3]:=x23;
      m2[2,4]:=x24;
      m2[3,1]:=x31;
      m2[3,2]:=x32;
      m2[3,3]:=x33;
      m2[3,4]:=x34;
      m2[4,1]:=x41;
      m2[4,2]:=x42;
      m2[4,3]:=x43;
      m2[4,4]:=x44;
    { ... }

    Классика ввода матриц. Опять. С киберфорума. http://www.cyberforum.ru/turbo-pascal/thread425906.html#post2374414

    HighPredator, 10 Января 2012

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

    +137

    1. 1
    2. 2
    3. 3
    // ...
    if not Length(username) in [6..24] then
      raise Exception.Create('Длина ника должна находиться в пределах от 6 до 24 символов');

    ну прям как N ∈[6; 24]

    brainworm, 10 Января 2012

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

    +105

    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
    program tetris;
    uses
      crt;
    var
      ss,nn,x,y,pus,a,b,c,d,lin,rlin:integer;
      st:array[1..12] of array[1..22] of integer;
    
    procedure k(x,y:integer);
    {ђЁб㥬 Єў а¤а вЁЄ}
    begin
     gotoxy(x*2+27,25-y);
     if ss=0 then write('  ');
     if ss=1 then write('[]');
     if ss=2 then write(chr(177),chr(177));
     if (ss=3) and (st[x,y]>0) then pus:=1;
     if ss=4 then st[x,y]:=1;
     gotoxy(1,1);write(' ');
    end;
    
    procedure fig(x,y,n,s:integer);
    {ђЁб㥬 дЁЈгаг}
    begin
     if s=3 then pus:=0;
     ss:=s; k(x,y);
     if n=1 then begin k(x+1,y);k(x,y-1);k(x+1,y-1) end;
     if n=2 then begin k(x-1,y);k(x+1,y);k(x+2,y) end;
     if n=3 then begin k(x,y+1);k(x,y-1);k(x,y-2) end;
     if n=4 then begin k(x+1,y);k(x-1,y);k(x-1,y+1) end;
     if n=5 then begin k(x,y+1);k(x+1,y+1);k(x,y-1) end;
     if n=6 then begin k(x-1,y);k(x+1,y);k(x+1,y-1) end;
     if n=7 then begin k(x,y+1);k(x,y-1);k(x-1,y-1) end;
     if n=8 then begin k(x-1,y);k(x+1,y);k(x+1,y+1) end;
     if n=9 then begin k(x,y+1);k(x,y-1);k(x+1,y-1) end;
     if n=10 then begin k(x+1,y);k(x-1,y);k(x-1,y-1) end;
     if n=11 then begin k(x,y+1);k(x,y-1);k(x-1,y+1) end;
     if n=12 then begin k(x-1,y);k(x,y-1);k(x+1,y-1) end;
     if n=13 then begin k(x,y+1);k(x-1,y);k(x-1,y-1) end;
     if n=14 then begin k(x+1,y);k(x-1,y-1);k(x,y-1) end;
     if n=15 then begin k(x-1,y);k(x,y-1);k(x-1,y+1) end;
     if n=16 then begin k(x+1,y);k(x-1,y);k(x,y+1) end;
     if n=17 then begin k(x+1,y);k(x,y+1);k(x,y-1) end;
     if n=18 then begin k(x,y-1);k(x-1,y);k(x+1,y) end;
     if n=19 then begin k(x-1,y);k(x,y+1);k(x,y-1) end
    end;
    
    procedure pov;
    {Џ®ў®а®в дЁЈгал}
    begin
     nn:=nn-1;
     if nn=15 then nn:=19;
     if nn=13 then nn:=15;
     if nn=11 then nn:=13;
     if nn=7 then nn:=11;
     if nn=3 then nn:=7;
     if nn=1 then nn:=3;
     if nn=0 then nn:=1;
    end;
    
    procedure clrst;
    {ЋзЁбвЄ  бв Є ­ }
    begin
     for x:=1 to 12 do
      for y:=1 to 22 do
       if (x=1) or (x=12) or (y=1) then st[x,y]:=2 else st[x,y]:=0;
    end;
    
    procedure risvesst;
    {ђЁб®ў вм ўҐбм бв Є ­}
    begin
     for x:=1 to 12 do  for y:=1 to 22 do
       begin
        ss:=st[x,y];
        k(x,y)
       end;
    end;
    
    procedure dvig;
    {„ўЁ¦Ґ­ЁҐ}
    var
     i:integer;key:char;
    begin
     for i:=1 to 10 do
      begin
      delay(d);
      key:=' ';
      if keypressed then key:=readkey;
      if key='i' then
       begin
       fig(x-1,y,nn,3);
       if pus=0 then begin fig(x,y,nn,0); x:=x-1; fig(x,y,nn,1); end;
       end;

    http://sources.ru/pascal/gamestxt/tet.htm

    dos_, 10 Января 2012

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