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

    В номинации:
    За время:
  2. Куча / Говнокод #13663

    +116

    1. 1
    string pattern = @"\d\d?\d?\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?";

    Регулярка для IP //_*)

    kegdan, 25 Августа 2013

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

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    list* down_if_valid_me(void)
    {
    	return this ? this->down() : NULL;
    }

    LispGovno, 12 Июля 2013

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

    +31

    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
    for (int i = 1; i++; i <= 20) {
        if (ExecSQL(...) >= 0) {
            Ok_rekord=true;
            break;
        }
        if (i == 20) {
            if (ExecSQL(...) < 0) {
                // показываем сообщение об ошибке
            } else {
                Ok_rekord=true;
            }
        }
    }

    Вот такой вот цикл для повтора при дедлоке...

    bormand, 20 Мая 2013

    Комментарии (57)
  5. Perl / Говнокод #12011

    −148

    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
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    use Data::Dumper;
    
    sub get0 { print("get0\n"); return 0; }
    sub get2 { print("get2\n"); return 2; }
    
    my ($a, $b) = (1, 1);
    $a ? $b = get0() : $b = get2();
    
    print Dumper({
        'a' => $a,
        'b' => $b,
    });

    Результат несколько обескураживает :)
    http://ideone.com/V60Y1L

    Elvenfighter, 27 Октября 2012

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

    +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
    private static BigInteger result = 0;
            static BigInteger F1 = 1;
            static BigInteger F2 = 1;
            static BigInteger provv;
            static BigInteger provv2;
    
            static void Main(string[] args)
            {
                for (BigInteger number = 3; result == 0; number++)
                {
                    provv2 = F2;
                    F2 = F2 + F1;
                    F1 = provv2; ;
                    if (HasProperty(F2.ToString()))
                        result = number;
                }
            }
    
            private static bool HasProperty(string number)
            {
                if (number.Length < 9)
                    return false;
                if (IsPandigital(number.Substring(0, 9)))
                    if (IsPandigital(number.Substring(number.Length - 9, 9)))
                        return true;
                return false;
            }
    
            private static bool IsPandigital(string result)
            {
                int repetitions;
                for (int count = 0; count < 9; count++)
                {
                    repetitions = 0;
                    for (int count2 = 0; count2 < 9; count2++)
                    {
                        if (result.ElementAt(count).ToString() == "0")
                            return false;
                        if (result.ElementAt(count).ToString() == result.ElementAt(count2).ToString())
                        {
                            repetitions++;
                            if (repetitions == 2)
                                return false;
                        }
                    }
                }
                return true;
            }

    http://projecteuler.net/problem=104
    http://projecteuler.net/thread=104;page=6



    >brute force approach,solved aproximately in 24 hours
    >solved aproximately in 24 hours
    >24 hours
    >24
    >hours


    Терпеливый, сука!

    TheHamstertamer, 17 Июня 2012

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

    +1001

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    bool f = true;
      short c0 = a0, c1 = a1, c2 = a2, c3 = a3;
      if (a0 < c1) { f = false; a0 = c1; a1 = c0 - c1; a2 = c1 - c2; a3 = c1 - c3; }
      if (a0 < c2) { f = false; a0 = c2; a1 = c2 - c1; a2 = c0 - c2; a3 = c2 - c3; }
      if (a0 < c3) { f = false; a0 = c3; a1 = c3 - c1; a2 = c3 - c2; a3 = c0 - c3; }
      if (f)                  { a0 = c0; a1 = c0 - c1; a2 = c0 - c2; a3 = c0 - c3; }

    Чувак не знает про else / else if. :(

    pewpew, 07 Декабря 2011

    Комментарии (57)
  8. Pascal / Говнокод #7896

    +112

    1. 1
    ТАЩИТЕ ЛЕСТНИЦУ!

    alexoy, 19 Сентября 2011

    Комментарии (57)
  9. Pascal / Говнокод #7345

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    procedure TForm1.Image1Click(Sender: TObject);
    begin
     sPictureName := Label2.Caption;
     Form2.Show;
    end;
    
    procedure TForm1.Image2Click(Sender: TObject);
    begin
     sPictureName := Label3.Caption;
     Form2.Show;
    end;

    Знаю конечно что уныло, но по моему делать одну процедуру из-за этого слишком геморройно. С тем же массивом из 2-х элементов хотя бы. Говно ли?

    Govnocoder#0xFF, 26 Июля 2011

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

    +171

    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
    void PauseSoundSwicher(EventReceiver &ER)
    			{
    				//алгоритм кудрявый, но иначе кормальной работы паузы добится не удалось
    				//klavishUP, klavishUP2 - контролируют момент отпускания клавишы до и после включения паузы
    				if(ER.IsKeyDown(irr::KEY_SPACE)==true&&PauseSwitch==false&&klavishUP2==true)PauseSwitch=true, klavishUP=false,this->AllStop();
    				if(ER.IsKeyDown(irr::KEY_SPACE)==false&&PauseSwitch==true&&klavishUP==false)klavishUP=true;
    				if(ER.IsKeyDown(irr::KEY_SPACE)==true&&PauseSwitch==true&&klavishUP==true)PauseSwitch=false, klavishUP2=false, this->AllStart();
    				if(ER.IsKeyDown(irr::KEY_SPACE)==false&&klavishUP2==false&&PauseSwitch==false)klavishUP2=true;
    				//
    				if(ER.IsKeyDown(irr::KEY_KEY_Z)==true&&SoundSwitch==true&&clavishUP2==true)SoundSwitch=false, clavishUP=false,SoundEngine->setSoundVolume(0);
    				if(ER.IsKeyDown(irr::KEY_KEY_Z)==false&&SoundSwitch==false&&clavishUP==false)clavishUP=true;
    				if(ER.IsKeyDown(irr::KEY_KEY_Z)==true&&SoundSwitch==false&&clavishUP==true)SoundSwitch=true, clavishUP2=false, SoundEngine->setSoundVolume(1);
    	     		if(ER.IsKeyDown(irr::KEY_KEY_Z)==false&&clavishUP2==false&&SoundSwitch==true)clavishUP2=true;
    			}

    ДОБРО ПОЖАЛОВАТЬ В МИР БОЛИ!!!!

    Psionic, 16 Июля 2011

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $black = "eval|file_get_contents|mysql_(.*?)|include|require|readfile|show_source|highlight|import_request_variables|extract|parse_str|assert|passthru|exec|system|shell_exec|proc_open|fopen|echo";
    
    if(preg_match("#\<\?(.*?)($black)(.*?)\?\>#i", $template)){
    exit ("1");
    break;
    }

    substr, 20 Июня 2011

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