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

    +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
    uses crt;
    type point=record{точки}
               x,y:real;
               end;
         okr=record{окружности}
             x,y,r:real;
             end;
    const nmax=20;
    function Peres(a,b:point;c:okr):boolean;{пересекаются или нет}
    var s,ab,h:real;
    begin
    s:=abs(a.x*(b.y-c.y)+b.x*(c.y-a.y)+c.x*(a.y-b.y));{удвоенная площадь треугольника
    вершины которого центр окружности и 2 точки}
    ab:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));{сторона, противоположная центру окружности}
    h:=s/ab;{высота на нее=расстояние от центра до прямой}
    Peres:=h<c.r;{если лно меньше радиуса, пересекаются}
    end;
    var a:array[1..nmax] of point;
        b:array[1..nmax] of okr;
        n,m,i,j,k,p,mx,imx,jmx:integer;
    begin
    clrscr;
    randomize;
    repeat
    write('Количество точек до ',nmax,' n=');
    readln(n);
    until n in [1..nmax];
    repeat
    write('Количество окружностей до ',nmax,' m=');
    readln(m);
    until m in [1..nmax];
    for i:=1 to n do
     begin
      a[i].x:=-10+random*21;
      a[i].y:=-10+random*21;
     end;
    for i:=1 to m do
     begin
      b[i].x:=-5+11*random;
      b[i].y:=-5+11*random;
      b[i].r:=5*random;
     end;
    writeln('Координаты точек:');
    write('X:');
    for i:=1 to n do
    write(a[i].x:6:2);
    writeln;
    write('Y:');
    for i:=1 to n do
    write(a[i].y:6:2);
    writeln;
    writeln;
    writeln('Параметры окружностей:');
    write('X:');
    for i:=1 to m do
    write(b[i].x:6:2);
    writeln;
    write('Y:');
    for i:=1 to m do
    write(b[i].y:6:2);
    writeln;
    write('R:');
    for i:=1 to m do
    write(b[i].r:6:2);
    writeln;
    writeln;
    mx:=0;
    imx:=0;
    jmx:=0;
    for i:=1 to n-1 do
    for j:=i+1 to n do
     begin
      k:=0;
      for p:=1 to m do
      if Peres(a[i],a[j],b[p]) then k:=k+1;
      if k>mx then
       begin
        mx:=k;
        imx:=i;
        jmx:=j;
       end;
     end;
    if mx=0 then write('Нет пересекающихся прямых и окружностей')
    else
     begin
      writeln('Максимальное число пересечений прямой с окружностями=',mx);
      write('Эта прямая проходит через точки (',a[imx].x:0:2,';',a[imx].y:0:2,') и (',a[jmx].x:0:2,';',a[jmx].y:0:2,')');
     end;
    readln
    end.

    Рекурсивная функций с циклами тройной вложенности

    Psilon, 20 Мая 2013

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

    +31

    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
    for (int i = 1; i++; i <= 20) {
        if (ExecSQL(...) >= 0) {
            Ok_rekord=true;
            break;
        }
        if (i == 20) {
            if (ExecSQL(...) < 0) {
                // показываем сообщение об ошибке
            } else {
                Ok_rekord=true;
            }
        }
    }

    Вот такой вот цикл для повтора при дедлоке...

    bormand, 20 Мая 2013

    Комментарии (57)
  3. PHP / Говнокод #13021

    +153

    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
    function u8($win,$h,$t)  
    {  
    global $w8;  
    $w8[chr($h).chr($t)] = $win;  
    }  
    $c1 = chr(208);  
    $c2 = chr(209);  
    u8("й",208,185); u8("ц",209,134); u8("у",209,131);  
    u8("к",208,186); u8("е",208,181); u8("н",208,189);  
    u8("г",208,179); u8("ш",209,136); u8("щ",209,137);  
    u8("з",208,183); u8("х",209,133); u8("ъ",209,138);  
    u8("ф",209,132); u8("ы",209,139); u8("в",208,178);  
    u8("а",208,176); u8("п",208,191); u8("р",209,128);  
    u8("о",208,190); u8("л",208,187); u8("д",208,180);  
    u8("ж",208,182); u8("э",209,141); u8("я",209,143);  
    u8("ч",209,135); u8("с",209,129); u8("м",208,188);  
    u8("и",208,184); u8("т",209,130); u8("ь",209,140);  
    u8("б",208,177); u8("ю",209,142); u8("Й",208,153);  
    u8("Ц",208,166); u8("У",208,163); u8("К",208,154);  
    u8("Е",208,149); u8("Н",208,157); u8("Г",208,147);  
    u8("Ш",208,168); u8("Щ",208,169); u8("З",208,151);  
    u8("Х",208,165); u8("Ъ",208,170); u8("Ф",208,164);  
    u8("Ы",208,171); u8("В",208,146); u8("А",208,144);  
    u8("П",208,159); u8("Р",208,160); u8("О",208,158);  
    u8("Л",208,155); u8("Д",208,148); u8("Ж",208,150);  
    u8("Э",208,173); u8("Я",208,175); u8("Ч",208,167);  
    u8("С",208,161); u8("М",208,156); u8("И",208,152);  
    u8("Т",208,162); u8("Ь",208,172); u8("Б",208,145);  
    u8("Ю",208,174); u8("ё",209,145); u8("Ё",208,129);  
       
    function utf2win ($text)  
    {  
    global $c1,$c2,$w8;  
    $u = false;  
    $temp = "";  
    for($i=0,$len=strlen($text); $i<$len; $i++) {  
      $c = substr($text,$i,1);  
      if ($u) {  
      $c = $w8[$lc.$c];  
      $temp .= isset($c)?$c:"?";  
      $u = false;  
      }  
      else if ($c==$c1 || $c==$c2) {  
      $u = true;  
      $lc = $c;  
      }  
      else  
      $temp .= $c;  
    }  
    return $temp;  
    }

    Это код переводит строку из кодировки UTF-8 в Windows-1251. Его автор явно не о iconv.

    vbysnek, 19 Мая 2013

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

    +6

    1. 1
    http://www.work.ua/jobs/1286767/

    Я, конечно, знал, что С++ плох, но чтобы настолько...

    serpinski, 19 Мая 2013

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private void goSimpleButton_Click(object sender, EventArgs e)
    {
        if (Properties.Settings.Default.username == "edodonova")
        {
            if (MessageBox.Show("Открывать?", "На всякий случай спрашиваем :-)", MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }
        }

    someone, 19 Мая 2013

    Комментарии (11)
  6. C++ / Говнокод #13018

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    int getFilesize(char* fname) {
        int f=open(fname, O_RDONLY);
        int size=0;
        if (f<0) {/*не важно*/}
        size=lseek(f, 0, SEEK_END);
        close(f);
        return size;
    }

    Писал прогу под линукс впервые. К концу написания уже знал что такое stat(), но как глянул в начало...)))))

    eax, 18 Мая 2013

    Комментарии (11)
  7. Java / Говнокод #13017

    +173

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static String formatDateFull(Calendar date) {
    	if (date == null)
    		return "&nbsp;";
    	else
    		try {
    			return dateOutFormatFull.format(date.getTime());
    		} catch(Exception ex) {
    			return "&nbsp;";
    		}
    }
    private static final SimpleDateFormat dateOutFormatFull = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss.SSS");

    3.14159265, 18 Мая 2013

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

    +139

    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
    в етом ИТТ треде мы выяснили что новомодные анальные игрушки для быдляков ПИСТОН и ХАЧКЕЛЬ
    сосут у олдфажных мега языков на все времена C-шки и perl-а все время
    
    лучий вариант на ПИСТОНЕ: http://ideone.com/udDJ9
    (императивный понос)
    2 варианта на ХАЧКЕЛЕ
    1.ебаный пиздец во всех смыслах и имеперативное гавнище: http://ideone.com/M42su
    (сосет у C-шки)
    2. деклашотивное петушение http://ideone.com/0e3qE
    (сосет у декларотивного петушения на perl)
    
    для сравнения
    perl: http://ideone.com/i0ob4 http://ideone.com/olq5B
    C: http://ideone.com/ap43H
    LUA: http://ideone.com/DVdhr http://ideone.com/Xkj4D
    
    http://ideone.com/6cZYq лисп как и ожидалось сонул, ну и возможно ответ неправильный
    (какието черезжопные варианты с 33 кратной вложеностю скобок быле побыстрее но натая хуйне никому не сдалась когда есть простое и самое быстрое решение на C-шке)

    Почему до сих пор не запостили?

    хуита, 18 Мая 2013

    Комментарии (11)
  9. PHP / Говнокод #13015

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    /**
     * Загружает файл изображения, обрабатывает и добавляет в БД
     */
    function uploadPhoto($_FILES = null, $album_id = null, $ugol = null, $logo = null, $user_id = null, $hash = null) {
        $filter = new Zend_Filter_Int();
        $album_id = $filter->filter($album_id);
    
        if (empty($_FILES) or empty($album_id)) {
            return false;
        }
        ...
    }

    123qweasdzxc, 18 Мая 2013

    Комментарии (3)
  10. 1C / Говнокод #13014

    −101

    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
    // Преобразует целое десятичное число (как вариант представления двоичного числа) в вещественное
    Функция ПреобразоватьВЧисло(Знач ДесятичноеЧисло = 0, Точность = 1) Экспорт
    	
    	СчБитов 	= 0;
    	Мантисса 	= 1;
    	Экспонента 	= ?(Точность = 2, -1023, -127);
    	Знак 		= 1;
    	
    	ГраницаМантиссы   = ?(Точность = 2, 52, 23);
    	ГраницаЭкспоненты = ?(Точность = 2, 63, 31);
    	
    	Пока ДесятичноеЧисло >= 1 Цикл
    		
    		Частное = Цел(ДесятичноеЧисло / 2);
    		Остаток = ДесятичноеЧисло % 2;
    		
    		Если СчБитов < ГраницаМантиссы Тогда
    			Мантисса = Мантисса + Остаток * Pow(2, СчБитов - ГраницаМантиссы);
    		ИначеЕсли СчБитов < ГраницаЭкспоненты И СчБитов > ГраницаМантиссы - 1 Тогда
    			Экспонента = Экспонента + Остаток * Pow(2, СчБитов - ГраницаМантиссы);
    		Иначе
    			Знак = ?(Остаток = 1, -1, 1);
    		КонецЕсли;
    		
    		ДесятичноеЧисло = Частное;
    		СчБитов	= СчБитов + 1;
    		
    	КонецЦикла; 
    		
    	Возврат Знак * Мантисса * Pow(2, Экспонента);
    
    КонецФункции

    TamerlanDE, 18 Мая 2013

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