1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #4501

    +173

    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
    $z="select team,r1,ochko from gametable order by pos ";$q=mysql_query($z); //присваиваю переменной данные из таблтцы
    $i=0;
    while($inf=mysql_fetch_array($q,MYSQL_ASSOC)){
    $i++;
    if($inf['team']=="ManchesterUnited"){$inf['team']="<b>ManchesterUnited</b>";
    }
    
    $row=array("class=\"row-2\"","class=\"row-3\"","class=\"row-4\"","class=\"row-5\"","class=\"row-6\"","class=\"row-1\"");//массив из стилей
    if ($i==1) {echo "$row[0]";};
    elseif($i==2) {echo "$row[1]";}
    elseif($i==3) {echo "$row[2]";}
    elseif($i==4) {echo "$row[3]";}
    elseif($i==5) {echo "$row[3]";}
    elseif($i==6) {echo "$row[4]";}
    elseif($i==7,12){echo "$row[5]";}
    else {$row="class=\"row-2\"";}
    
    echo"
     <tr $row>// вставка стиля
    <td class=\"column-1\">$i </td>
       <td class=\"column-2\">$inf[team]</td>
       <td class=\"column-3\">$inf[r1]</td>
       <td class=\"column-3\">$inf[ochko]</td>
                <td class=\"column-3\"></td>        
           <td class=\"column-3\"></td>
           <td class=\"column-4\"></td>
           <td class=\"column-3\"></td>
    </tr>";
    }

    Свежачок!
    Я насчитал 9 какашек, а вы?

    Uchkuma, 01 Ноября 2010

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

    +168

    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
    //Курьерская доставка по Москве оплата при получении
    function pay10 ($sum, $num,$weight)
    {
    $sum=$sum+200;
    return $sum; 
    }
    
    
    function pay12 ($sum, $num,$weight)
    {
    $sum=$sum+200;
    return $sum; 
    }
    
    //Почта оплата наложенный платеж
    function pay20 ($sum, $num,$weight)
    {
    $sum=$sum+150;
    return $sum; 
    }
    
    function pay21 ($sum, $num,$weight)
    {
    $sum=$sum+150;
    return $sum; 
    }
    
    //Авиа почта оплата наложенный платеж
    function pay30 ($sum, $num,$weight)
    {
    $sum=$sum+300;
    return $sum; 
    }
    
    function pay31 ($sum, $num,$weight)
    {
    $sum=$sum+300;
    return $sum; 
    }
    
    function pay43 ($sum, $num,$weight)
    {
    $sum=$sum+450;
    return $sum; 
    }

    Библиотека функций в одном известном интернет-магазине...
    Каким местом думал автор остается вопросом.

    ejiko, 29 Октября 2010

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

    +156

    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
    // #include<....>
    
    using namespace std;
    
    #if ( _WIN32 || __WIN32__ || _WIN64 || __WIN64__ )
    #define I64 "%I64d"
    #else
    #define I64 "%Ld"
    #endif
    
    #define PB(x) push_back(x)
    #define MP(x,y) make_pair(x,y)
    #define dbg(x) cerr << #x << " = " << x << endl
    #define fori(i,b,e) for(int i = (b); i < (e); i++)
    #define forall(p,s) for(typeof((s).begin()) p = (s).begin(); p != (s).end(); p++)
    #define memclr(a) memset((a), 0, sizeof(a))
    
    typedef long long int64;
    const long long inf = ((long long)1 << 63) - 1;
    
    #define PROBLEM_NAME "a"
    
    #define add(i, j, val, p, ch) \
    do { \
    	par[i][j][val] = p; \
    	c[i][j][val] = ch; \
    	was[i][j][val] = true; \
    	d[i][j][val] = d[i][j][p] + 1; \
    	a[i][j][sz[i][j]++] = val; \
    } while (0)
    
    void bfs(int n) {
    	int p[10][10][2];
    	for (int i = 0; i < 10; i++) {
    		for (int j = 0; j < 10; j++) {
    			p[i][j][0] = min(i,j);
    			p[i][j][1] = max(i,j);
    		}
    	}
    	static int par[10][10][2 << 16];
    	static int c[10][10][2 << 16];
    	static bool was[10][10][2 << 16];
    	static int a[10][10][2 << 16];
    	static int d[10][10][2 << 16];
    	static int sz[10][10];
    	static int cur[10][10];
    
            //...
    }
    int main() {
            //...
    }

    Часть шаблона, ну еще кое-какие макросы, т.к. влом было писать нормально. Зато работало. bfs не обыкновенный, если кого это смутит.

    baton, 27 Октября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::string ScriptInfo::GetDebugInfo() const
    {
        char sz[256];
        sprintf(sz, "%s ('%s' script id: %u)", GetScriptCommandName(command).c_str(), GetScriptsTableNameByType(type).c_str(), id);
        return std::string(sz);
    }

    Может, не совсем говнокод, но меня от подобного коробит.

    Oops, 17 Октября 2010

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

    +159

    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
    // Функция для подключения к БД
    
    // *** параметры коннекта ***
    ErrorsOff();
    $this->DbAccess = @mysql_connect($this->Server, $this->User, $this->Password);
    ErrorsOn();
    if($this->DbAccess){
    	$this->Connected = true;
    	@mysql_query("set character_set_client='cp1251'");
    	@mysql_query("set character_set_results='cp1251'");
    	@mysql_query("set collation_connection='cp1251_general_ci'");
    	$this->Version = mysql_get_server_info();
    	if($dbname != "" && @mysql_select_db($dbname, $this->DbAccess)){
    		// *** отмечаем текущую базу ***
    	}
    }else{
    	$this->Error('Не удалось подключиться к серверу!');
    	$this->MySQLError();
    	return false;
    }
    $this->Good();
    return true;

    Мартин, 12 Октября 2010

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

    +164

    1. 1
    2. 2
    #define MERGE(X,Y) X##Y
    typedef unsigned MERGE(ch,ar)	byte;

    sermp, 11 Октября 2010

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

    +161

    1. 1
    2. 2
    if (isset($_GET['a'])) $b = 1;
    if (!isset($_GET['a'])) $b = 0;

    mulder, 10 Октября 2010

    Комментарии (15)
  9. C# / Говнокод #4320

    +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
    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
    93. 93
    94. 94
    95. 95
    96. 96
    public bool CheckPath(string path)
    {
        int n;
    
        n = 0;
        //Проверяем наличие нужных папок;
        if (Directory.Exists(path + "SCLAD"))
        {
            n += 1;
        }
        if (Directory.Exists(path + "REAL"))
        {
            n += 1;
        }
        if (Directory.Exists(path + "DOSTAVKA"))
        {
            n += 1;
        }
        //Проверяем наличие нужных файлов
        if (File.Exists(path + "analit.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "partner.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "SCLAD\\mdoc.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "SCLAD\\mdoc.fpt"))
        {
            n += 1;
        }
        if (File.Exists(path + "SCLAD\\mdocm.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "SCLAD\\mgrup.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "SCLAD\\mlabel.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "SCLAD\\mlabel.fpt"))
        {
            n += 1;
        }
        if (File.Exists(path + "REAL\\rbookm.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "REAL\\rbook.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "REAL\\rbook.fpt"))
        {
            n += 1;
        }
        if (File.Exists(path + "DOSTAVKA\\avt.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "DOSTAVKA\\avtm.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "DOSTAVKA\\avtm.fpt"))
        {
            n += 1;
        }
        if (File.Exists(path + "DOSTAVKA\\cargo.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "DOSTAVKA\\cargom.dbf"))
        {
            n += 1;
        }
        if (File.Exists(path + "DOSTAVKA\\zamena.dbf"))
        {
            n += 1;
        }
    
        //Если указанная папка содержит все, что нужно
        if (n == 20)
        {
            return true;
        }
    
        return false;
    }

    eee_qqq, 09 Октября 2010

    Комментарии (15)
  10. Python / Говнокод #4317

    −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
    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
    # -*- coding: utf-8 -*-
    
    # На входе: не пустой b-массив
    # На выходе: словарь из 1-ого элемента {самый часто встречающийся элемент:количество}
    
    # 1. Сначала составляем словарь, потом ищем максимум и возвращаем
    def Freq1(b):
      assert len(b) > 0
      d = {}
      for x in b: # Пробегаем в цикле исходный массив
        d[x] = d[x] + 1 if d.has_key(x) else 1 # Если ключ уже есть, прибавляем 1, если нет, записываем 1
      v = max(d, key=d.get) # v ключ из словаря соответствующий максимальному значению
      return {v:d[v]} # Возвращаем ответ
    
    # 2. Ищем максимум прямо при составлении словаря
    def Freq2(b):
      d = {}
      m, i = 0, 0 # Максимальная частота и индекс в словаре
      for x in b: # Пробегаем в цикле исходный массив
        d[x] = d[x] + 1 if d.has_key(x) else 1 # Если ключ уже есть, прибавляем 1, если нет, записываем 1
        if d[x] > m:
          m, i = d[x], x # Запоминаем максимум и его индекс
      return {i:m}
    
    # 3. Без использования словаря (сложность квадратичная - "тупой метод")
    def Freq3(b):
      m, i = 0, 0 # Максимальная частота и соответствующее ему значение
      for x in b:
        c = b.count(x) # Сколько раз встречается x в массиве b?
        if c > m:
          m, i = c, x
      return {i:m}
    
    # Проверка (примитивный unit-тест)
    def Check(inData, expected):
      assert Freq1(inData) == expected
      assert Freq2(inData) == expected
      assert Freq3(inData) == expected
    
    Check(["banana", "banana", "apple", "banana", "banana", "apple", "onion"], {'banana': 4})
    Check([2, 3, 9, 3, 6, 6], {3: 2})
    Check([True, True, True, False, False, True], {True: 4})

    Самый часто встречающийся элемент в массиве (3 способа).
    Везде сплошной говнокод. Как ПРАВИЛЬНО найти самый часто встречающийся элемент в массиве?
    Наверное, можно ещё отсортировать массив и пробежать по нему храня текущий элемент и количество и обновляя соответствующие переменные?

    denis, 09 Октября 2010

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

    +155

    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
    $image = imageCreateFromJpeg("test666.jpg");
    
    $width = imageSX($image);
    $height = imageSY($image);
    
    $colorsR = array();
    $colorsG = array();
    $colorsB = array();
    
    for ($i = 0; $i < $width; $i++) {
    	for ($j = 0; $j < $height; $j++) {
    		
    		$color = imageColorAt($image, $i, $j);
    		list($r, $g, $b) = array_values(imageColorsForIndex($image, $color));
    		
    		if ($r != "255" && $g != "255" && $b != "255") {
    			array_push($colorsR, $r);
    			array_push($colorsG, $g);
    			array_push($colorsB, $b);
    		}
    		
    	}
    }
    
    $middleR = base_convert(round(array_sum($colorsR) / count($colorsR)), 10, 16);
    $middleG = base_convert(round(array_sum($colorsG) / count($colorsG)), 10, 16);
    $middleB = base_convert(round(array_sum($colorsB) / count($colorsB)), 10, 16);
    
    
    echo "<h1>".$middleR.$middleG.$middleB."</h1>"

    Только что "родил": нахождение среднего цвета на картинке для собственных нужд. Поскольку пхп я особо не знал никогда, делал "влом".
    Претендует ли это на звание говнокода?

    Cr@ZyBoY, 17 Сентября 2010

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