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

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

    +1

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

    Я бы вам, блять, таких нюансов понаустроила, вы б бедные были.

    KPblCA, 08 Марта 2025

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

    +1

    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
    /* Python:
    
    def A004086(n):
    return int(str(n)[::-1])
    */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int A004086(int n) {
        char str[12]; // Enough to hold the string representation of an int
        sprintf(str, "%d", n);
        int len = strlen(str);
        char reversed[12];
        
        for (int i = 0; i < len; i++) {
            reversed[i] = str[len - 1 - i];
        }
        reversed[len] = '\0'; // Null-terminate the string
        
        return atoi(reversed);
    }

    Результат переписывание с "Python" на "C". A004086 это последовательность из OEIS https://oeis.org/A004086

    j123123, 02 Января 2025

    Комментарии (22)
  4. Куча / Говнокод #29066

    +1

    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
    Новогодний оффтоп #5
    ░░░░░░░░░░░░░░░░░▐▌░░░░░░░░░░░░░░░░░
    ░░░░░░░░░░░░░░░▀████▀░░░░░░░░░░░░░░░
    ░░░░░░░░░░░░░░░▄█▀▀█▄░░░░░░░░░░░░░░░
    ░░░░░░░░░░░░░░░░░▄▄░░░░░░░░░░░░░░░░░
    ░░░░░░░░░░░░░░░▄████▄░░░░░░░░░░░░░░░
    ░░░░░░░░░░░▄▄██╬██╬████▄▄░░░░░░░░░░░
    ░░░░░░░░▀███████╬███╬██████▀░░░░░░░░
    ░░░░░░░░░░▄▄█╬████╬█████▄▄░░░░░░░░░░
    ░░░░▄▄▄▄██╬████╬█████╬███╬██▄▄▄▄░░░░
    ░░░░░░▀▀████╬█████╬█████████▀▀░░░░░░
    ░░░░░░░░░▄█████╬██████╬███▄░░░░░░░░░
    ░░▄▄▄▄██████╬█████╬███████╬███▄▄▄▄░░
    ░░▀▀▀████╬█████╬████╬███╬██████▀▀▀░░
    ░░░░░░░░████╬████████╬██████░░░░░░░░
    ░░▄▄▄█████╬██████╬█████╬███╬███▄▄▄░░
    ▀▀▀████╬█████╬█████╬████╬███╬████▀▀▀
    ░░░░░░▀▀▀██████████████████▀▀▀░░░░░░
    ░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░
    ░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░

    #1: https://govnokod.ru/27188 https://govnokod.xyz/_27188
    #2: https://govnokod.ru/27893 https://govnokod.xyz/_27893
    #3: https://govnokod.ru/28484 https://govnokod.xyz/_28484
    #4: https://govnokod.ru/28896 https://govnokod.xyz/_28896

    rOBHOBO3Hblu_nemyx, 23 Декабря 2024

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

    +1

    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
    xxx: Теперь сделайте так, чтобы цифры выводились следующим образом (используя программу из предыдущего задания):
                1
             2 1
          3 2 1
       4 3 2 1
    5 4 3 2 1
    
    yyy:
    
    #include <print>
    
    inline constexpr std::size_t kSize = 5;
    
    template <std::size_t N, std::size_t NN>
    constexpr auto operator+(const std::array<char, N>& first, const std::array<char, NN>& second) -> std::array<char, N + NN> {
      std::array<char, N + NN> response;  // NOLINT
      std::ranges::copy(first, response.begin());
      std::ranges::copy(second, response.begin() + first.size());
      return response;
    };
    
    auto main() -> int {
      []<std::size_t... Is>(std::index_sequence<Is...>) {
        // clang-format off
        ([&]<std::size_t... IIs, std::size_t... IIIs>(std::index_sequence<IIs...>, std::index_sequence<IIIs...>) {
          constexpr std::format_string<decltype(IIs)...> fmt = [] {
            static constexpr auto response = ((std::ignore = IIIs, std::array{' ', ' '}) + ... + ((std::ignore = IIs, std::array{'{', '}', ' '}) + ... + std::array{'\0'}));
            return response.begin();
          }();
          constexpr auto v = Is;
          std::println(fmt, (v - IIs + 1)...);
        }(std::make_index_sequence<Is + 1>(), std::make_index_sequence<kSize - Is - 1>()), ...);
        // clang-format on
      }(std::make_index_sequence<kSize>());
    };

    Fluttie, 07 Ноября 2024

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int iseven(long long int number)
    {
    	struct Num {
    		unsigned int x:1;
    		unsigned int y:31;
    		unsigned int z:32;
    	} num = (*(struct Num*)(&number));
    	return num.x; //Если результат 1, то нечётное.
    }

    Функция определения чётности числа посредством возврата младшего бита.

    TurboLyudoed, 11 Октября 2024

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

    +1

    1. 1
    Здравствуйте. Удалите, пожалуйста, мой аккаунт.

    Я запросил удаление своего аккаунта через почту, указанную в обратной связи около 2-х недель назад, но мне так и не ответили. Тогда, я с этого же аккаунта -- подтверждаю, что хочу удалить этот аккаунт.

    Спасибо! Мой прощальный торт со вкусом php.

    (

    )
    (o)
    ,|,
    |~\
    o@@@@@@@@\ |@@@@@I@@r@
    oo@@@@@@@@@@@@|`|@@@@@@@@@@@T@@
    o@@@@@@@@@@@@@@@@@\ |@@@@@@@@@@@@@R@@@@o
    o@@@y@@@@@@@@@@@@@@@|`\@@@@@@@@@@@@@@K@@ @@@o
    @@@@@@o@@@@@@@@@@@@@@\ |@@@@@@@@@@@@@@@a@@@@@@
    p@@@@@@@u@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@ @@@@@q
    @@o@@@@@@@@t@@@@@@@@@@@@@@@@@@@@@@@j@@@@ @@@o@@
    @:@@@o@@@@@@@@u@@@@@@@@@@@@@@@@@@l@@@@@@ o@@::@
    ::@@::@@o@@@@@@@.@@b@e@@/@@Y@@6@@@@@@o@@:@@::@
    ::@@::@@@@::oo@@@@oo@@@@@ooo@@@@@o:::@@@ ::::::
    %::::::@::::::@@@@:::@@@:::::@@@@:::::@@ :::::%
    %%::::::::::::@@::::::@:::::::@@:::::::: ::::%%
    ::%%%::::::::::@::::::::::::::@::::::::: :%%%::
    .#::%::%%%%%%:::::::::::::::::::::::::%% %%%::%::#.
    .###::::::%%:::%:%%%%%%%%%%%%%%%%%%%%%:% :::%%:::::###.
    .#####::::::%:::::%%::::::%%%%:::::%%::: :%::::::::::#####.
    .######`:::::::::::%:::::::%:::::::::%:: ::%:::::::::'######.
    .#########``:::::::::::::::::::::::::::: ::::::::''#########.
    `.#############```:::::::::::::::::::::: ::'''#############.'
    `.###################################### ################.'
    ` .###########,._.,,,. #######<_\##################. '
    ` .#######,;: `,/____,__`\_____,_________,_____
    ` .###;;;`. _,;>-,------,,--------,----------'
    ` `,;' ~~~ ,'\######_/'####### . '
    ''~`'''' - .'/; - '

    Ksyrx, 06 Июня 2024

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

    +1

    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
    Функция ЭтоVIN(Знач Значение, Знач ПробелыЗапрещены = Истина) Экспорт 
    	
    	Если ТипЗнч(Значение) <> Тип("Строка") Тогда
    		Возврат Ложь;
    	КонецЕсли;   
    	
    	Если Не ПробелыЗапрещены Тогда
    		Значение = СтрЗаменить(Значение, " ", "");
    	КонецЕсли;
    	
    	Возврат ЗначениеЗаполнено(Значение)
    	И (СтрДлина(Значение) = 17)
    	И 	
    	// Если содержит только цифры, то в результате замен должна быть получена пустая строка.
    	// Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы.
    	СтрДлина(  
    	СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(	СтрЗаменить(
    	СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
    	СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(	СтрЗаменить(
    	СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
    	СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( 
    	СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить(
    	СтрЗаменить( СтрЗаменить( СтрЗаменить( 
    	Значение, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")
    	, "A", ""), "B", ""), "C", ""), "D", ""), "E", ""), "F", ""), "G", ""), "H", ""), "J", ""), "K", ""), "L", ""), "M", "")
    	, "N", ""), "P", ""), "R", ""), "S", ""), "T", ""), "U", ""), "V", ""), "W", ""), "X", ""), "Y", ""), "Z", "")) = 0; 
    	
    КонецФункции

    Функция определяет является ли строка VIN, метода выбрана забавная - в строке удаляются все допустимые символы, то что осталось, по мнению автора - мусор, т.е. vin невалидный. Видимо просто проверить каждый символ на вхождение в допустимый алфавит это слишком просто ;).

    VladC, 20 Мая 2024

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

    +1

    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
    /// <summary>
    /// перобразуем DateTime? в DateTime, если не получается, то возвращаем текущую дату
    /// </summary>
    /// <param name="date"></param>
    /// <returns></returns>
    private DateTime DateTimeHelper(DateTime? date)
    {
        try
        {
            return (DateTime)date;
        }
        catch
        {
            return DateTime.Now;
        }
    }

    reemind, 03 Мая 2024

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

    +1

    1. 1
    if ($text[2] == 'www.' or $text[2] == 'Www.' or $text[2] == 'wWw.' or $text[2] == 'wwW.' or $text[2] == 'WwW.' or $text[2] == 'WWw.' or $text[2] == 'wWW.' or $text[2] == 'WWW.')

    Можно было так: if(strtolower($text[2]) == 'www.')

    ququnta, 25 Марта 2024

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    $tempname = '__temp__.apk';
    copy($origname, $tempname);
    exec('C:\Android\android-sdk\build-tools\34.0.0\aapt.exe dump badging ' . '"'.$tempname.'"', $output);
    unlink($tempname);

    Понадобилось по-быстрому наговнякать переименоватор apk-файлов. Решил метушню из манифеста вытянуть с помощью «aapt» из официальных «Android build tools». Оказалось, что «aapt» не может открыть файл, если его имя содержит символы за пределами базового ASCII. CHCP не помогает вообще никак.

    При передаче в aapt имени в 866 выводится «asset... Asset path... is neither a directory nor file (type=1)», при передаче имени в других кодировках (1251, UTF-8) выводится сообщение «ziparchive... Invalid byte sequence». Так и не смог подобрать кодировку, в которой заработает.

    Шёл 2024-й год.

    nemyx, 04 Марта 2024

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