1. JavaScript / Говнокод #9950

    +154

    1. 1
    2. 2
    3. 3
    escape = function(string) {
        return (''+string).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\//g,'&#x2F;');
      };

    Ваше мнение?

    __proto__, 14 Апреля 2012

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

    +1004

    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
    long base64::rlong (char * source)
    {
        long res = 0;
        for (int i = 0; i < 4; i++) ((char *) &res)[3 - i] = source[i];
        return res;
    }
    
    void base64::encode (char * source, char * dest)
    {
        char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
        int n = 0;
        for (int nd = 0; nd < ceil(4*((double)strlen(source))/3); nd++)
            dest[n++] = base[rlong(&source[((nd >> 2) << 2)*3 >> 2]) >> (26 - 6*(nd - ((nd >> 2) << 2))) & 0x3F]; 
        for (int i = 0; i < ((int) ceil(((double)n)/4) << 2) - n; i++) dest[n++] = '=';
        dest[n] = 0;
    }

    Ответ преподу по c++. Переводстроки в base64.

    antonymus, 14 Апреля 2012

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

    +133

    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
    #include <stdio.h>
    
    float abs(float a) { return a > 0 ? a : -a; }
    
    int main() {
        float x, e, step = 1, summ = step;
        int i = 0;
        
        scanf("%f, %f", (printf("x, e: "), &x), &e);
        
        do summ += (abs(step *= x / ++i) > e) ? step : 0; while (abs(step) > e);
        
        printf("summ = %f\n", summ);
        
        return 0;
    }

    вычисление суммы ряда (1 + x/1! + x^2/2! + ... + x^n/n!), с заданной точностью

    igoreknog, 14 Апреля 2012

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

    +149

    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
    $USER_ID = $_GET['user_id']; 
          $API_METHOD = $_GET['method']; 
          
          $Errors = array('Error#001' => 'Undefined data in request!');
          
          switch($API_METHOD)
          {
            case 'get_user_name_by_id':
              echo EncodeJSON(UserAPI::GetUserNameByID($USER_ID));
              break;  
              
            case 'get_user_status_by_id':
              echo EncodeJSON(UserAPI::GetUserStatusByID($USER_ID));
              break;
                
            default:
              echo $Errors['Error#001'];
              break; 
          }
            class UserAPI //test
            {
               function GetUserNameByID($ID)
               {
                  $SqlQuery = mysql_query("SELECT displayname FROM engine4_users WHERE user_id='$ID'");
                  $Response = mysql_fetch_array($SqlQuery);
                  $Result = array('UserName'=>$Response['displayname']);
                  return $Result;
               }
               
               function GetUserStatusByID($ID)
               {
                  $SqlQuery = mysql_query("SELECT status FROM engine4_users WHERE user_id='$ID'");
                  $Response = mysql_fetch_array($SqlQuery);
                  $Result = array('UserStatus'=>$Response['status']);
                  return $Result; 
               }
            }
            
            function EncodeJSON($arr) {
            $parts = array();
            $is_list = false;
            
            if (!is_array($arr)) return;
            if (count($arr)<1) return '{}';
            $keys = array_keys($arr);
            $max_length = count($arr); 
                    
            if(($keys[0] == 0) and ($keys[$max_length] == $max_length)) {
                $is_list = true;
                for($i=0; $i<count($keys); $i++) { 
                    if($i != $keys[$i]) { 
                        $is_list = false; 
                        break;
                    }
                }
            }
            foreach($arr as $key=>$value) {
                if(is_array($value)) { 
                    if($is_list) $parts[] = array2json($value);
                    else $parts[] = '"' . $key . '":' . array2json($value);
                } else {
                    $str = '';
                    if(!$is_list) $str = '"' . $key . '":';
                    if(is_numeric($value)) $str .= $value; 
                    elseif($value === false) $str .= 'false'; 
                    elseif($value === true) $str .= 'true';
                    else $str .= '"' . addslashes($value) . '"';
                    $parts[] = $str;
                }
            }
            $json = implode(',',$parts);
            if($is_list) return '[' . $json . ']';
            return '{' . $json . '}';
        }

    Удивительное рядом.

    Govnisti_Diavol, 14 Апреля 2012

    Комментарии (5)
  5. PHP / Говнокод #9945

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!$_GET['nocache']) {
      $use_caching=0; // use cache?
     } else {
      $use_caching=0;
     }

    ReckO, 14 Апреля 2012

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    for(int i = 0; i < fCount; i++)
    {
           result += Integer.parseInt(String.valueOf((fPart.charAt(i))), 10)*Math.pow(base, fCount-(i+1));	    			
    }

    brainy, 14 Апреля 2012

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

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private static string GetShortDisciplineName(string longDsciplineName){
                string[] words = longDsciplineName.Split(' ');
                switch (words.Count()){
                    case 1:{
                        return longDsciplineName;
                        break;
                        }

    pm2t29jf47, 13 Апреля 2012

    Комментарии (6)
  8. PHP / Говнокод #9942

    +157

    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
    mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASSWORD) OR DIE("Не могу создать соединение "); 
            mysql_select_db($MYSQL_DB_NAME) or die(mysql_error());  
            $query = "SELECT * FROM `Subdivision` WHERE `Checked`=1";  
            $result = mysql_query($query) or die(mysql_error()); 
            $i=0;
            while($row = mysql_fetch_assoc($result))
              {
                $data[$i]=$row;
                $i++;
              }
            $query = "SELECT * FROM `Subdivision` WHERE `Subdivision_Name`='Спорт'";
            $result = mysql_query($query) or die(mysql_error()); 
            $row = mysql_fetch_assoc($result);
            $data[]=$row;
            $data['22']['Subdivision_Name']='Главная (интернет магазин прикольных футболок с надписью)';
            $data['19']['Subdivision_Name']='Креативные футболки с прикольными рисунками';
            $data['2']['Subdivision_Name']='Классные футболки для офиса';
            $data['3']['Subdivision_Name']='Оригинальные студенческие футболки';
            $data['4']['Subdivision_Name']='Самые лучшие футболки sexy';
            $data['6']['Subdivision_Name']='Правильные футболки для админов';
            $data['32']['Subdivision_Name']='Клевые футболки South Park ';
            $data['35']['Subdivision_Name']='Эксклюзивные футболки на хэллоуин'; 
            $array = array(13,9,11,10,12,14,15,16);
            $sub_array = array(33,19,31,38,0,1,2,3,4,5,6,7,8,20,32,35,36,37);
            $sitemap ="<ul>";
            $sitemap.="<li><a href='".$data['22']['Hidden_URL']."'>".$data['22']['Subdivision_Name']."</a></li>"; 
            $sitemap.="<ul>";
            for($i=0;$i<count($sub_array);$i++)
              {
                 $sitemap.="<li><a href='".$data[$sub_array[$i]]['Hidden_URL']."'>".$data[$sub_array[$i]]['Subdivision_Name']."</a></li>"; 
              }
            $sitemap.="</ul>";
            for($i=0;$i<count($array);$i++)
              {
                 $sitemap.="<li><a href='".$data[$array[$i]]['Hidden_URL']."'>".$data[$array[$i]]['Subdivision_Name']."</a></li>"; 
              }
            $sitemap.="</ul>";
            
            return $sitemap;

    комментарии излишни

    freeadler, 13 Апреля 2012

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    php_value register_globals 1
    php_flag register_globals on
    php_value magic_quotes 1
    php_flag magic_quotes on
    php_value magic_quotes_gpc 1
    php_flag magic_quotes_gpc on

    n/c

    miraage, 13 Апреля 2012

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

    +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
    > В какую середину?) он ставиться на свое место. У тебя не верное представление об устройстве данных в памяти. 
    
    procedure TForm1.Button1Click(Sender: TObject);
    type
    parr = ^tarr;
    tarr = array of integer;
    var
    pparr: array of parr;
    begin
    setlength(pparr,1);
    memo1.Lines.Add('first array pointer '+inttostr(integer(@pparr)));
    new(pparr[0]);
    memo1.Lines.Add('second array pointer '+inttostr(integer(pparr[0])));
    memo1.Lines.Add('first element '+inttostr(integer(pparr[0]^)));
    end;
    
    > вывод 
    
    first array pointer 1242664
    second array pointer 10822692
    first element 0

    Человек нашёл единственно верный путь использования двумерных динмассивов. Через указатель на указатель, правда он сам этого не понимает. Авторское форматирование и орфография сохранены.

    Источник:
    http://www.gamedev.ru/projects/forum/?id=161043&page=3#m35

    TarasB, 13 Апреля 2012

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