1. C++ / Говнокод #17661

    +55

    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
    bool validateIp(std::string& ip) {
        if( ip.length() == 0 ) {
            return false;
        }
        
        if( ip[0] == '.' ) {
            return false;
        }
        
        // Проверка на наличие 3 точек
        int cp = 0;
        for( int i = 0; i < ip.length(); i++ ) {
            if( ip[i] == '.' ) {
                cp++;
            }
        }
        if( cp != 3 ) {
            std::cout << "проверка на 3 точки" << std::endl;
            return false;
        }
        //=====================
        
        
        // Проверка на 2 точки подряд
        for( int i = 0; i < ip.length()-1; i++ ) {
            if( ip[i] == '.' && ip[i+1] == '.' ) {
                std::cout << "проверка на 2 точки подряд" << std::endl;
                return false;
            }
        }
        //===========================
        
        
        //Проверка на больше 3 цифр подряд
        int i = 0;
        int j = 0;
        for( i = 0; i < ip.length(); i++ ) {
            for( j = i; j < i+4 && j < ip.length(); j++ ) {
                if( j == i+3 && ip[j] != '.' ) {
                    std::cout << "проверка на 4 цифры подряд" << std::endl;
                    return false;
                }
                if( ip[j] == '.' ) {
                    i = j;
                    break;
                }
            }
        }
        
        return true;
        //============================
    }

    Валидация IP-адреса

    lukaville, 17 Февраля 2015

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

    +51

    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
    while (w.pollEvent(event)) {
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Period)) {
            ip += ".";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num0)) {
            ip += "0";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num1)) {
            ip += "1";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num2)) {
            ip += "2";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num3)) {
            ip += "3";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num4)) {
            ip += "4";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num5)) {
            ip += "5";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num6)) {
            ip += "6";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num7)) {
            ip += "7";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num8)) {
            ip += "8";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num9)) {
            ip += "9";
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::BackSpace) && ip.length() > 0) {
            ip.erase(ip.end() - 1, ip.end());
        }
        if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Return)) {
            if (validateIp(ip)) {
                Text c("Connection...", f);
                c.setColor(Color::Black);
                c.setPosition(100, 20);
                w.draw(c);
                w.display();
                return ip;
            } else {
                ip.erase(ip.begin(), ip.end());
                wrongAnswer = true;
            }
        }
        if (event.type == Event::Closed) {
            w.close();
            return 0;
        }
    }

    Ввод IP-адреса в интерфейсе игры

    lukaville, 17 Февраля 2015

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

    +49

    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
    #include <iostream>
     
    int get_number() {
    	return 5;
    }
     
    int magic_number(int foo()) {
    	return foo();
    }
     
    int main(void)
    {
    	std::cout << magic_number(get_number) << std::endl;
    }

    http://ideone.com/TbV0jD

    LispGovno, 17 Февраля 2015

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /* The DNS spec is officially case-insensitive, but for those times when you
    *really* wanna see any and all discrepancies, by all means define this. */
    #ifdef ANAL
        if (strcmp (poop->name, hp->h_name) != 0) { /* case-sensitive */
    #else
        if (strcasecmp (poop->name, hp->h_name) != 0) { /* normal */
    #endif

    Из первой версии netcat'а.

    bormand, 17 Февраля 2015

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

    +51

    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
    //Sets the color(background and foreground)
    void Console::SetColor(){
        #ifdef _WIN32
            SetConsoleTextAttribute(hConsole, FGColor | BGColor);
        #else
            string clr = "\033[";
            clr += BGColor;
            clr += ";";
            clr += FGColor;
            clr += "m";
            cout << clr;
        #endif
    }

    Изменение цвета текста и фона консоли

    govnokod3r, 17 Февраля 2015

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

    +160

    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
    if ($sub_sub_sub_sub_category_id !== null) {
    
    													if ($this->core->countUrl > 5) {
    														header('Location: /404/');
    													}
    
    													foreach ($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id] as $k1 => $v1) {
    														if ($k1 !== 0) {
    															foreach ($v1 as $k2 => $v2) {
    																if ($k2 !== 0) {
    																	if ($this->core->translit($v2[0]) == $sub_sub_sub_category) {
    																		$sub_sub_sub_sub_sub_category_id = $k1;
    																		$sub_sub_sub_sub_sub_sub_category_id = $k2;
    																		break;
    																	}
    																}
    															}
    														}
    													}
    
    													$this->core->title($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_sub_category_id][0]);
    													$bread_crumbs[] = array(
    														'text' => $categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_sub_category_id][0],
    														'url' => $location['alias'] . '/' . $this->core->translit($categories[$category_id][0]) . '/' . $this->core->translit($categories[$category_id][$sub_category_id][$sub_sub_category_id][0]) . '/' . $this->core->translit($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][0]) . '/' . $this->core->translit($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_sub_category_id][0])
    													);
    
    													$query_add = "
    														AND (`market_item`.`category_key` = '" . $category_id . "')
    														AND  `market_item`.`param` REGEXP '(\&quot;" . $sub_sub_sub_sub_category_id . "\&quot;)'
    													";
    													
    													$vip_query_add = "
    														AND `market_item`.`category_key` = '" . $category_id . "'
    													";
    
    												}

    qualitycode, 16 Февраля 2015

    Комментарии (19)
  7. Куча / Говнокод #17654

    +127

    1. 1
    2. 2
    wct 
    http://habrahabr.ru/post/250713/

    Vasiliy, 16 Февраля 2015

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

    +127

    1. 1
    http://i.gyazo.com/dd1b407b6ea528e59de2966e49d4cb82.png

    Юзабилити)))

    motobuster, 16 Февраля 2015

    Комментарии (4)
  9. JavaScript / Говнокод #17652

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    window.onload = function (){
         var divs=document.getElementsByTagName("DIV");
         for( var i=0; i<divs.length; i++)
         if(divs[i].className=="pro")
              divs[i].style.minHeight=0+"px" 
         ;
    }

    Целостность кода сохранена.

    korovnikissi, 16 Февраля 2015

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

    −109

    1. 1
    2. 2
    3. 3
    4. 4
    def remove_duplicates(seq):
        seen = set()
        seen_add = seen.add
        return [x for x in seq if x not in seen and not seen_add(x)]

    замечательная функция, возвращающая уникальные элементы списка.

    python_ninja, 16 Февраля 2015

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