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

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

    +116

    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
    namespace tickets
        {
            class ticket
            {
                int ticket_num; // номер билета
                int[] digit_mas = new int[6]; // массив циф номера билета
                int i = 5;
                bool repletion; // если значение превысило 999999 - то истина
                int divizor = 10; // делитель (для розбивания числа на цифры)
                int pre_divizor = 1; // предидущий делитель
                int pre_digit; // предидущая цифра
                int happy_TK_amount; // количество "счастливых" билетов
                public ticket(int num_of_ticket)
                {
                    if (num_of_ticket < 1000000 & num_of_ticket >= 100000)
                        ticket_num = num_of_ticket;
                    else
                        Console.WriteLine("out of range");
                }
                public void crash_num() // разбиваем число на цифры  
                {
                    if (i >= 0)
                    {
                        digit_mas[i] = (ticket_num % divizor - pre_digit) / pre_divizor; // от остачи от деления на порядок , вычетаем предидущю цифру , и делим на предидущий порядок - получаем цифру определённого порядка числа 
                        pre_divizor = divizor;
                        pre_digit = digit_mas[i];
                        divizor = divizor * 10;
                        i--; // пишем в обратном порядке , для правильной записи последовательности цифер
                        crash_num();
                    }
                }
                public void echo_digits()
                {
                    for (i = 0; i <= 5; i++)
                    {
                        Console.Write(digit_mas[i]);
                    }
                }
                public void happy_ticket() // щитает количество "счастливых" билетов
                {
                    for (repletion = false; repletion != true; )
                    {
                        if (digit_mas[0] + digit_mas[1] + digit_mas[2] == digit_mas[3] + digit_mas[4] + digit_mas[5]) // проверяет билет на предмет "счастливости"
                        {
                            happy_TK_amount++;
                        }
                        i = 5;
                        num_increase();
                    }
                    Console.WriteLine("there are " + happy_TK_amount + " happy tickets");
                }
                public void num_increase() // увеличивает номер билета на 1 
                {
                    if (i >= 0)
                    {
                        digit_mas[i]++;
                        if (digit_mas[i] == 10)
                        {
                            digit_mas[i] = 0;
                            if (digit_mas[0] == 0)
                                repletion = true;
                            else
                                i--; // уменшаем индекс , для движения от младшего - к старшему разряду 
                            num_increase();
                        }
                    }
                }
            }

    Написать программу определения количества шестизначных 'счастливых' билетов, у которых сумма первых 3 десятичных цифр равна сумме 3 последних десятичных цифр.

    подскажите плз , есть ли (естественно есть) , где и какое у меня какашкэ в коде , а то проверять меня некому , а индусом стать не хочу
    ЗЫ а вообше , здесь можно так делать (просить проверить )

    WJIRIIA, 16 Января 2011

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

    +152

    1. 1
    2. 2
    3. 3
    $result = mysql_query ("SELECT f.name, f.category, c.name AS cat_name, f.size, f.datetime, f.filename " .  
                           "FROM ${DB_PREFIX}_files AS f, ${DB_PREFIX}_categories AS c " .
                           "WHERE f.id=$id AND f.category = c.id");

    На момент написания совершенно не подозревал о существовании JOIN'а.

    byss, 27 Декабря 2010

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

    +170

    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
    try {
        @$ids = array_map(function($p)
       {
         static $index = 0;
         $index++; 
         if (is_numeric($p) && intval($p) == $p) 
           return intval($p); 
         else 
            throw new Exception("The element #{$index} is crap");
       }, 
       explode(',', $_COOKIE['integers']));
      }
       catch (Exception $e) {
        exit ("Uh oh! {$e->getMessage()}");
    }

    Это мы так парсим intы в куках

    eyeland, 19 Декабря 2010

    Комментарии (33)
  5. Куча / Говнокод #4882

    +144

    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
    <html>
    <head>
    <TITLE>Бесплатные форумы. Дизайн phpBB, возможности vbulletin, скорость FastBB</TITLE>
    <STYLE>
    body {font: Verdana; }
    </STYLE>
    </head>
    <BODY bgColor=#ffffff leftMargin=50 topMargin=5 marginheight="5" marginwidth="50" style="margin:50px;margin-top:5px;margin-bottom:5px;">
    <center><br><br> <br> <br> <br> <br> <br> <br> <br>  
    <h1>На сервере ведутся работы. Пожалуйста, зайдите позже.</h1>
    
    </body>
    </html>

    html код аварийной странички сервиса borda.ru

    espr, 09 Декабря 2010

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

    +108

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if (m_Level != value)
                    {
                        if (m_Level != null)
                        {
                            Logger.Unsubscribe(m_Level.Value, Logger_LogEvent);
                        }
                        m_Level = value;
                        if (m_Level != null)
                        {
                            Logger.Subscribe(m_Level.Value, Logger_LogEvent);
                        }
                    }

    Бывает и так. . .

    walash, 03 Декабря 2010

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

    +173

    1. 1
    2. 2
    3. 3
    $query = "SELECT `id`, IF(`nalichie` = 0, '0.png', '1.png') AS `nalichieimg`, `cena` FROM `buttons`";
    //не достойные внимания строки опущены.
    echo '<img src="'.$row['nalichieimg'].'">';

    Я понимаю, что для оптимизации некоторые задачи лучше бывает перенести на сторону БД. Но не на столько же!!! o_0

    Uchkuma, 24 Ноября 2010

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

    +153

    1. 1
    2. 2
    3. 3
    <?php if (isset($primary_links)) : ?>
    <?php print theme('links', $primary_links, array('class' => 'nav1')) ?>
    <?php endif; ?>

    украинская система верстки

    fatdevil, 17 Ноября 2010

    Комментарии (33)
  9. Куча / Говнокод #4517

    +124

    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
    СLS
    DEFLNG M-N,P,S
    
    INPUT "N=";N
    IF N>9.999999999999999D+48 THEN END
    M=N
    S=0
    WHILE M<> 0
    
    P=M MOD 10
    S=S+P
    M=M\10
    PRINT "S=";S;
    WEND
    PRINT"P="; "S=";S;
    PRINT
    
    ЗДЕСЬ ВСЕ ВЕРНО ! СУММА ПОДСЧИТЫВАЕТСЯ ПРАВИЛЬНО. Часть 2 ЭТОЙ ЗАДАЧИ
    
    WHILE S<>10
    M=S: P=0
    S1=0
    
    WHILE M<>0
    
    P=M MOD 10
    
    S1=S1+P
    M=M\10
    PRINT S1
    
    PRINT S1
    WEND
    PRINT"SUMMA=";S1
    WEND
    END

    Это QBasic. Для числа подсчитываются сумма его цифр. Если результат превышает 9, то для результата снова подсчитывается сумма цифр и так далее, пока результат не станет меньше 10. Например, если исходное число 3247598, то результат 2. Взято отсюда: http://otvet.mail.ru/question/47598848/

    Govnocoder#0xFF, 02 Ноября 2010

    Комментарии (33)
  10. SQL / Говнокод #4371

    −186

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    select books.title,subjects.title from books,subjects,subjects_specialty,specialty,chair
    	where (books.subject_id=subjects.id)
    and (subjects.id=subjects_specialty.subject_id)
    and (subjects_specialty.specialty_id=specialty.id)
    and (specialty.chair_id=chair.id)
    and (chair.title='КИИ');

    Мой первый опыт в sql навреняка вам понравится :)

    werewolfv, 16 Октября 2010

    Комментарии (33)
  11. JavaScript / Говнокод #3747

    +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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    <script LANGUAGE="JavaScript">
        <!--
        function checkEmailAddress(email) {
            var allowedChars = ".-_@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
            var numberAt = 0;
            var indexAt = -1;
            var thisChar = "";
            if (email == "")
                return 0;
            for(j=0 ; j <= email.length ; j++) {
                thisChar = email.substring(j,j+1);
                if (allowedChars.indexOf(thisChar) == -1) {
                    return 0;
                }
                if (thisChar == "@") {
                    if (j == 0 || j >= email.length - 3 || numberAt > 0)
                        return;
                    numberAt++;
                    indexAt = j;
                }
            }
            if (numberAt != 1)
            {
                return 0;
            }
            if (email.substring(indexAt+1).indexOf(".") <= 0)
                return;
            for (j=0; j < email.indexOf("@"); j++) {
                if (allowedChars.indexOf(email.substring(j,j+1)) >= 4)  // Email address is correct!!
                    return 1;
            }
            return;
        }

    В данный момент используется в зарубежном SaaS-решении

    wunge, 20 Июля 2010

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