1. C# / Говнокод #9659

    +964

    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
    namespace WindowsFormsApplication12
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (textBox1.Text == "") textBox1.Text = "1";
                if (textBox2.Text == "") textBox2.Text = "1";
                if (textBox3.Text == "") textBox3.Text = "1";
    
                label7.Text = textBox1.Text + "x2 + " + textBox2.Text + "x + " + textBox3.Text;
    
                label4.Text = "x1 = " + Convert.ToString((Convert.ToInt32("-" + textBox2.Text) + (Math.Sqrt(Math.Pow(Convert.ToInt32(textBox2.Text), 2) - 4
                        * Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox3.Text)))) / (2 * Convert.ToInt32(textBox1.Text)));
    
                label5.Text = "x2 = " + Convert.ToString((Convert.ToInt32("-" + textBox2.Text) - (Math.Sqrt(Math.Pow(Convert.ToInt32(textBox2.Text), 2) - 4
                * Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox3.Text)))) / (2 * Convert.ToInt32(textBox1.Text)));
    
                label6.Text = "D = " + (Math.Pow(Convert.ToInt32(textBox2.Text), 2) - 4 * Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox3.Text)).ToString();
            }

    Программа находит корни квадратного уравнения.

    P4R4, 12 Марта 2012

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

    +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
    private void label1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("Данная программа вычисляет\nнаибольший общий делитель.");
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (Convert.ToInt32(textBox1.Text) >= Convert.ToInt32(textBox2.Text))
                {
                    for (int i = Convert.ToInt32(textBox1.Text); i > 0; i--)
                    {
                        if (Convert.ToInt32(textBox1.Text) % i == 0)
                        {
                            if (Convert.ToInt32(textBox2.Text) % i == 0)
                            {
                                label2.Text = "НОД = " + Convert.ToString(i);
                                break;
                            }
                        }
                    }
                }
                else
                    for (int i = Convert.ToInt32(textBox2.Text); i > 0; i--)
                    {
                        if (Convert.ToInt32(textBox2.Text) % i == 0)
                        {
                            if (Convert.ToInt32(textBox1.Text) % i == 0)
                            {
                                label2.Text = "НОД = " + Convert.ToString(i);
                                break;
                            }
                        }
                    }
            }

    Программа с одного форума

    P4R4, 12 Марта 2012

    Комментарии (2)
  3. Java / Говнокод #9657

    +74

    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
    for (Tm_RecipientConstructor recipient: m_Recipients) {
    	
    	Tm_PHB_Contact m_Contact = recipient.getContact();
    	
    	if ( m_Contact != null) {					
    		if(m_Contact.getMobile()!=null) {						
    			st.setLong(1,recipient.getEntry().getID());//nWebEntryID
    			st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
    			st.setString(3,"mobile");//STRNAME
    			st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
    			st.setString(5,m_Contact.getMobile());//STRVALUE
    			st.addBatch();
        		index++;
        		if (index % 5000 == 0){		    				
        			st.executeBatch();
        			st.clearBatch();				            
        			st = conn.prepareStatement(sql);
        		}
    		}
    		if(m_Contact.getName()!=null) {						
    			st.setLong(1,recipient.getEntry().getID());//nWebEntryID
    			st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
    			st.setString(3,"first_name");//STRNAME
    			st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
    			st.setString(5,m_Contact.getName());//STRVALUE
    			st.addBatch();
        		index++;
        		if (index % 5000 == 0){		    				
        			st.executeBatch();
        			st.clearBatch();				            
        			st = conn.prepareStatement(sql);
        		}
    		}
    		if(m_Contact.getSurName()!=null) {
    			
    			st.setLong(1,recipient.getEntry().getID());//nWebEntryID
    			st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
    			st.setString(3,"last_name");//STRNAME
    			st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
    			st.setString(5,m_Contact.getSurName());//STRVALUE
    			st.addBatch();
        		index++;
        		if (index % 5000 == 0){		    				
        			st.executeBatch();
        			st.clearBatch();				            
        			st = conn.prepareStatement(sql);
        		}
    		}					
    		if(m_Contact.getPatrName()!=null) {
    			
    			st.setLong(1,recipient.getEntry().getID());//nWebEntryID
    			st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
    			st.setString(3,"second_name");//STRNAME
    			st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
    			st.setString(5,m_Contact.getPatrName());//STRVALUE
    			st.addBatch();
        		index++;
        		if (index % 5000 == 0){		    				
        			st.executeBatch();
        			st.clearBatch();				            
        			st = conn.prepareStatement(sql);
        		}
    		}					
    		if(m_Contact.getCompanyName()!=null) {
    			
    			st.setLong(1,recipient.getEntry().getID());//nWebEntryID
    			st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
    			st.setString(3,"company");//STRNAME
    			st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
    			st.setString(5,m_Contact.getCompanyName());//STRVALUE
    			st.addBatch();
        		index++;
        		if (index % 5000 == 0){		    				
        			st.executeBatch();
        			st.clearBatch();				            
        			st = conn.prepareStatement(sql);
        		}
    		}
    		if(m_Contact.getComment()!=null) {
    			
    			st.setLong(1,recipient.getEntry().getID());//nWebEntryID
    			st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
    			st.setString(3,"comments");//STRNAME
    			st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
    			st.setString(5,m_Contact.getComment());//STRVALUE
    			st.addBatch();
        		index++;
        		if (index % 5000 == 0){		    				
        			st.executeBatch();
        			st.clearBatch();				            
        			st = conn.prepareStatement(sql);
        		}
    		}	
    	}
    }

    Функции? Не, не слышал.

    SadKo, 12 Марта 2012

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($this->unpriced){
                //...............  строк 30 кода
                if($this->unpriced){
                      //................ строк 10 кода
                }                
    }

    Вот такую забавную проверку нашол в старом коде. Видать, для уверенности, или скорее всего логика менялась.

    Edd, 12 Марта 2012

    Комментарии (13)
  5. Objective C / Говнокод #9655

    −83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    -(void)makeItemavAilableWithName:(NSString*) name{
        [[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:name];
    }
    
    -(BOOL)isItemAvaliableWithName:(NSString*) name{
        //item could be a chracter or a world
        return [[[NSUserDefaults standardUserDefaults] valueForKey:name]boolValue];
    }

    Вот так вот мы сохраняем булевые переменные в UserDefaults. Оригинальная орфография и пунктуация сохранены

    SevInf, 12 Марта 2012

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $uri = $_SERVER["REQUEST_URI"];
    
    // получаем урл и выбираем id
    preg_match('![?|&]p=(.*)$!',$uri,$r);
    @$_GET['p'] = $r[1];

    DarkThinker, 12 Марта 2012

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

    +125

    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
    #include <stdio.h>
    
    #define MAXLINE 1000 /* максимальная длина строки в потоке */
    
    int getline(char line[], int maxline);
    
    main()
    {
        int len; /* длина текущей строки */
        char line[MAXLINE]; /* текущая введённая строка */
    
        while((len = getline(line, MAXLINE)) != (-1))
            printf("%s", line);
            
        system("PAUSE");
        return 0;
    }
    
    /* getline: считывает строку в s, удаляет пробелы и знаки табуляции в конце строки, возвращает её длину. Удаляет полностью пустые строки */
    getline(char s[], int lim)
    {
                 int c, i;
                 
                 for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
                       s[i] = c;
                 if (c == EOF)
                    return (-1); /* конец ввода */
                 else if (c == '\n') {
                      while(s[i-1] == ' ' || s[i-1] == '\t') /* "удаление" пробелов и знаков табуляции в конце строки */
                         --i;
                      if (i > 0) { /* если строка непустая */
                         s[i] = '\n';
                         ++i;
                      }
                      s[i] = '\0';
                      return i;
                 }
    }

    Задача: убирать в конце каждой строки лишние пробелы и знаки табуляции, удалять полностью пустые строки.
    Решение: при считывании строки вида "abc_____\n" на выходе получаем массив символов "abc\n\0___" (пробелы в конце). Печатаем строки по мере поступления, профит.

    Говнокод или нормально?

    justanothernickname, 12 Марта 2012

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

    +961

    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
    private class LinkedAction
    {
        public Action<Action<bool>> Action { get; set; }
    
        public LinkedAction Next { get; set; }
    
        public void Execute()
        {
            Action(s =>
                {
                    if (s && Next != null) Next.Execute();
                });
        }
    }
    
    private static LinkedAction NewLinkedAction(LinkedAction link, Action<Action<bool>> action)
    {
        return new LinkedAction
        {
            Action = action,
            Next = link
        };
    }
    
    var action = GetCopytoTestActions(parameter)
        .Reverse()
        .Aggregate<Action<Action<bool>>, LinkedAction>(null, NewLinkedAction);
    action.Execute();

    abatishchev, 12 Марта 2012

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

    −139

    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
    Если  ЗначениеЗаполнено(ВыслугаЛет) Тогда 
    			Запрос.УстановитьПараметр("ВыслугаЛет",     ВыслугаЛет);
    		КонецЕсли;
    		
    		Если не ЗначениеЗаполнено(ВыслугаЛет) Тогда 
    			Запрос.Текст = СтрЗаменить(Запрос.Текст,"И ПНУ.ВидРасчета <> &ВыслугаЛет","");
    			Запрос.Текст = СтрЗаменить(Запрос.Текст,"И ТабельныйЛист.ВидРасчета <> &ВыслугаЛет","");
    			Запрос.Текст = СтрЗаменить(Запрос.Текст,"И Прекращения.ВидРасчета <> &ВыслугаЛет","");
    		КонецЕсли;
    		
    		Запрос.УстановитьПараметр("Организация",    Организация);
    		Запрос.УстановитьПараметр("ПодразделениеОрганизации",  ПодразделениеОрганизации);
    		
    		Если ПодразделениеОрганизации.Пустая() Тогда
    			Запрос.Текст = СтрЗаменить(Запрос.Текст,"И Подразделение В ИЕРАРХИИ(&ПодразделениеОрганизации)","");
    			Запрос.Текст = СтрЗаменить(Запрос.Текст,"И Прекращения.ПодразделениеОрганизации = &ПодразделениеОрганизации","");
    			Запрос.Текст = СтрЗаменить(Запрос.Текст,"И ТабельныйЛист.Подразделение В ИЕРАРХИИ(&ПодразделениеОрганизации)","");
    		КонецЕсли;
    		
    		Если НЕ ЗначениеЗаполнено(ВыслугаЛет) Тогда 
    			Запрос.Текст = СтрЗаменить(Запрос.Текст,"ГДЕ
    			|	ТабельныйЛист.ВидРасчета <> &ВыслугаЛет
    			|	И","Где ");
    		КонецЕсли;

    Jivchic, 12 Марта 2012

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

    −142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Если РучнойВводОтработанногоВремени И СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда 
    	Если СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда 
    			СТЧ.ОтработаноДней  = НачислениеИзРегистрыРасчета.ОтработаноДней;
    			СТЧ.ОтработаноЧасов = НачислениеИзРегистрыРасчета.ОтработаноЧасов;
    	КонецЕсли;	
    КонецЕсли;

    Бонд, Джеймс Бонд.

    Если СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда
    Если СТЧ.ОтработаноДней = 0 И СТЧ.ОтработаноЧасов = 0 Тогда

    Jivchic, 12 Марта 2012

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