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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void Data3Fill(string _TownCheck, string _StreetCheck, string _HouseCheck, string _FlatCheck, string _BloodCheck,
    string _InsuranceCheck, string _EndPolCheck, string _DateFutureCheck, string _DoctorCheck, string _DiagnosisCheck, string _ComplaintsCheck, string _VichCheck, string _CancerCheck, string _SurnameCheck, string _NameCheck, string _MidnameCheck,
    string _SexCheck, string _StatusCheck, string _HighStatusCheck)
    {
    ...
    }

    Одному моему другу такой подход кажется нормальным.

    LoveSong, 01 Февраля 2015

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

    +143

    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
    #include <stdio.h>
    
    int main(void)
    {
    	int d2[3][3][3];
    	int i,i2,i3;
    	for(i = 0; i <= 3; ++i)
    		for(i2 = 0; i2 <= 3; ++i2)
    			for(i3 = 0; i3 <= 3; ++i3)
    				d2[i][i2][i3]=5;
    	i=0,i2=0,i3=0;
    	for(i = 0; i <= 3; ++i)
    		for(i2 = 0; i2 <= 3; ++i2)
    			for(i3 = 0; i3 <= 3; ++i3)
    				printf("%d\n",d2[i][i2][i3]);
    	return 0;
    }

    играюсь я короче с массивом, этот код компилируется,все печатает но в конце Segmentation fault, почему?
    gcc -Wall -Wextra -Werror -Wpedantic -ftrapv -fwrapv -fdiagnostics-show-option -std=gnu11 -o "test" "test.c"

    pl7ofit, 01 Февраля 2015

    Комментарии (102)
  3. Си / Говнокод #17553

    +130

    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
    char* obrab_stroki(char*, int);
    int move(char*);
    int action_register(char*);
    int speed(char*);
    int condition(char*);
    
    char answer1[25];
    uint8_t Output[512];
    uint32_t number_for_output=16;
    typedef struct { char *name; uint8_t adress; } struct_label;
    typedef struct { char *name; uint8_t adress; } struct_goto_label;
    //----------------------------------------------------------------------------------------
    while (strcmp(qwerty[++string_count],""))
    	{
    		str=obrab_stroki(qwerty[string_count], 0);
    		printf("s:%s\n",str);
    		
    		if (!strcmp(qwerty[string_count]+strlen(qwerty[string_count])-1,"{")) fig_skob++;
    		if (!strcmp(qwerty[string_count]+strlen(qwerty[string_count])-1,"}")) fig_skob--;				
    		if (!strcmp(qwerty[string_count]+strlen(qwerty[string_count])-1,"{") && !strcmp(str,"if")) { fig_skob_if++; adres_return[fig_skob_if]=number_for_output+3; }
    		if (!strcmp(qwerty[string_count]+strlen(qwerty[string_count])-1,"}") && fig_skob_if>0) { Output[adres_return[fig_skob_if]]=number_for_output; fig_skob_if--;}
    		if (fig_skob==0)
    		{
    			Output[number_for_output++]=0;
    			Output[number_for_output++]=0;
    		}
    
    		if (!strcmp(qwerty[string_count]+strlen(qwerty[string_count])-1,":")) 
    		{ 
    			label[number_label].name=qwerty[string_count];
    			label[number_label++].adress = number_for_output;
    			continue;
    		}				
    //-------------------------------------------------------------------------------------------
    if (!strcmp(str,"r")) if (action_register(qwerty[string_count]) == 1) {printf("ERROR in string: %d", string_count); return 1;} else continue;
    		if (!strcmp(str,"move")) if (move(qwerty[string_count]) == 1) {printf("ERROR in string: %d", string_count); return 1;} else continue;
    		if (!strcmp(str,"speed")) if (speed(qwerty[string_count]) == 1) {printf("ERROR in string: %d", string_count); return 1;} else continue;
    		if (!strcmp(str,"if")) if (condition(qwerty[string_count]) == 1) {printf("ERROR in string: %d", string_count); return 1;} else continue;
    		
    //-----------------------------------------------------------------------------------------
    char* obrab_stroki(char* qwerty, int i)
    {
    	int count;
    	char asnwer1[25];
    
    	for (count=0; (qwerty[count+i]<='z' && qwerty[count+i]>='a') || (qwerty[count+i]<='Z' && qwerty[count+i]>='A'); count++)
    	{
    		answer1[count]=qwerty[count+i];
    	}
    	answer1[count]='\0';
    
    	return answer1;
    }//тут как бы нет ошибок =)
    
    //----------------------------------------------------------------------------------------------
    if (qwerty[i]=='-')
    	{
    		if (qwerty[i+1]=='1' && qwerty[i+2]=='0')
    			{
    				Output[number_for_output++]=answer|MOTOR_SPEC_SPEED_DEC;
    				Output[number_for_output++]=0;
    				return 0;
    			}
    		else
    			return 1;
    	}

    Человек писал компилятор. Самые эпичные моменты

    epichniygovnokoder, 31 Января 2015

    Комментарии (12)
  4. Ruby / Говнокод #17552

    −99

    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
    def append_card(cards, new_card)
          if cards.nil?
            new_card == GameEvent::YELLOW_CARD ? 'yellow' : 'red'
          elsif cards == 'yellow'
            new_card == GameEvent::YELLOW_CARD ? 'two_yellow' : 'yellow_red'
          elsif cards == 'red'
            new_card == GameEvent::YELLOW_CARD ? 'yellow_red' : 'red'
          elsif cards == 'two_yellow'
            'two_yellow'
          elsif cards == 'yellow_red'
            new_card == GameEvent::YELLOW_CARD ? 'two_yellow' : 'yellow_red'
          end 
        end

    ничего особенного, просто подсчитываем, какую карточку получил игрок футбольной команды.
    а я думал, что что-то понимаю в футболе... я никогда в жизни так не ошибался

    iHateBidlocod, 31 Января 2015

    Комментарии (4)
  5. 1C / Говнокод #17551

    −120

    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
    //определяем сумму начисленной амортизации+ремонтов на заказы документом "РаспределениеАмортизацииНаЗаказы"
    
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.СчетУчета КАК СчетУчета,
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Заказ,
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.СтоимостьПриход КАК СтоимостьПриход,
    	               |	НАЧАЛОПЕРИОДА(НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Период, МЕСЯЦ) КАК Период,
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Регистратор КАК Регистратор
    	               |ИЗ
    	               |	РегистрНакопления.НезавершенноеПроизводствоБухгалтерскийУчет.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК НезавершенноеПроизводствоБухгалтерскийУчетОбороты
    	               |ГДЕ
    	               |	(НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Регистратор ССЫЛКА Документ.РаспределениеАмортизацииНаЗаказы
    	               |			ИЛИ НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Регистратор = &Корректировка)
    	               |	И НезавершенноеПроизводствоБухгалтерскийУчетОбороты.СчетУчета = &СчетУчета
    	               |ИТОГИ
    	               |	СУММА(СтоимостьПриход)
    	               |ПО
    	               |	ОБЩИЕ";
    				   
    	Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(ДатаНач));
    	Запрос.УстановитьПараметр("ДатаКон",КонецМесяца(ДатаКон));
    	Запрос.УстановитьПараметр("СчетУчета", ПланыСчетов.Хозрасчетный.НайтиПоКоду("231"));
    	Запрос.УстановитьПараметр("Корректировка", Документы.ОперацияБух.НайтиПоНомеру("00000056",Дата(2011,05,01)));
    
    	Выборка = Запрос.Выполнить().Выбрать();
    	Выборка.Следующий();
    	СуммаНачисления = Выборка.СтоимостьПриход;

    Есть специальная супер секретная бухгалтерская операция которую нужно исключить )))

    yuriybilous, 31 Января 2015

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

    +65

    1. 1
    2. 2
    3. 3
    4. 4
    std::string Operations::getLastError()
    	{
    		return "Произошла неизвестная ошибка при выполнении криптооперации";
    	}

    laMer007, 30 Января 2015

    Комментарии (25)
  7. 1C / Говнокод #17549

    −118

    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
    Если Сумма<=0 тогда
    		
    		НС = Док.СуммыДолга.Добавить();
    		НС.ВидЗадолженности     = Перечисления.ВидыЗадолженности.Кредиторская;
    		НС.ДоговорКонтрагента     = ПолучитьДоговор(Клиент,Док.ВалютаДокумента);
    		НС.КурсВзаиморасчетов   = Док.КурсДокумента;
    		НС.КратностьВзаиморасчетов=Док.КратностьДокумента;
    		НС.Сумма = -Сумма;
    		НС.СуммаРегл = НС.Сумма*НС.КурсВзаиморасчетов/НС.КратностьВзаиморасчетов;
    		
    		НС.СчетУчетаАвансов  = СчетКонтрагента;
    		НС.СчетУчетаРасчетов = СчетКонтрагента;
    	Иначе
    		
    		НС = Док.СуммыДолга.Добавить();
    		НС.ВидЗадолженности     = Перечисления.ВидыЗадолженности.Дебиторская;
    		НС.ДоговорКонтрагента     = ПолучитьДоговор(Клиент,Док.ВалютаДокумента);
    		НС.КурсВзаиморасчетов   = Док.КурсДокумента;
    		НС.КратностьВзаиморасчетов=Док.КратностьДокумента;
    		НС.Сумма = Сумма;
    		НС.СуммаРегл = НС.Сумма*НС.КурсВзаиморасчетов/НС.КратностьВзаиморасчетов;
    		
    		НС.СчетУчетаАвансов  = СчетКонтрагента;
    		НС.СчетУчетаРасчетов = СчетКонтрагента;
    	
    	КонецЕсли;

    Код исправный, но... любит один наш программер "чтоб побольше строк"... а если добавить дополнительные отступы ("для удобства прочтения"), то будет казаться, что программа невообразимо длинная и сложная

    dsfix, 30 Января 2015

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static IEnumerable<T> Remove<T>(this IEnumerable<T> source, T key)
    {
        return source.Where(element => !element.Equals(key));
    }
    
    public static IEnumerable<string> Remove(this IEnumerable<string> source, string key)
    {
        return source.Where(element => element != key);
    }

    Немного велосипедостроения.

    pushistayapodmyshka, 30 Января 2015

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

    +97

    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
    if (!File.Exists(comboBox1.Text + ".pck"))
                {
                    MessageBox.Show("Файла " + comboBox1.Text + ".pck не существует!", "Ошибка");
                }
                else
                {
                    StreamWriter writer = new StreamWriter("Extract.bat");
                    writer.WriteLine("sPCK.exe -pw -x " + comboBox1.Text + ".pck" + Environment.NewLine + "del Extract.bat");
                    writer.Close();
                    System.Diagnostics.Process.Start("Extract.bat");
                    Thread.Sleep(1000);
                    if (File.Exists(comboBox1.Text + ".pck.files"))
                    {
                        //Lol
                    }
                    else
                    {
                        if (checkBox1.Checked)
                        {
                            System.Diagnostics.Process.Start(comboBox1.Text + ".pck.files");
                        }
                        else
                        {
                            //LoL
                        }
                    }
                }

    Решил я значить узнать почему рядом с одной из программ создается .bat файл

    skydev, 30 Января 2015

    Комментарии (13)
  10. Assembler / Говнокод #17545

    +114

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    CFG ; start: scasb
    DCG ; salc
    AEEAFF ; and al,'\'-'/'
    AAEAFO ; add al,'/'
    DBFAFB ; int 29h
    DFDDGG ; jmp start

    Генератор лабиринта на Wct.

    Mihip, 29 Января 2015

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