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

    +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
    Функция СоответствиеСодержитКлюч(Соответствие, Ключ)
        
        Если НЕ Соответствие[Ключ] = Неопределено Тогда
            Возврат Истина;
        КонецЕсли;
        
        КоличествоЭлементов = Соответствие.Количество();
        Соответствие.Удалить(Ключ);
        
        Если КоличествоЭлементов = Соответствие.Количество() Тогда
            Возврат Ложь;
        КонецЕсли;
        
        Соответствие.Вставить(Ключ);
        Возврат Истина;
        
    КонецФункции

    Как тебе такое Илон (зачеркнуто) Нуралиев?!

    hujaboy, 16 Мая 2023

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

    0

    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
    // Решает задачу из огэ по информатике
    // Первое число - количество
    // затем числа идут
    // выводит наибольшее число которое оканчивается на 3
    
    #include <vector>
    #include <stdio.h>
    typedef unsigned char zero;
    typedef unsigned int cat;
    cat rex = 0;
    
    class orange
    {
    public:
        cat *bananas = nullptr;
        std::vector<zero> apples;
    
        void a()
        {
            for (zero *ufo = apples.data(); ufo - apples.data() < apples.size();)
            {
                switch (*ufo++)
                {
                    case 1: if (!bananas) bananas = new cat[*(cat *)ufo]; ufo += sizeof(int); break;
                    case 7: delete[] bananas; bananas = nullptr; break;
                    case 4: bananas[*(cat *)ufo] = bananas[*(cat *)(ufo + sizeof(int))]; ufo += 2 * sizeof(int); break;
                    case 0: bananas[*(cat *)ufo] = *(cat *)(ufo + sizeof(int)); ufo += 2 * sizeof(int); break;
                    case 8: bananas[*(cat *)ufo] = bananas[*(cat *)(ufo + sizeof(int)) + bananas[*(cat *)(ufo + sizeof(int) * 2)]]; ufo += 3 * sizeof(int); break;
                    case 9: printf("%d\n", bananas[*(cat *)ufo]); ufo += sizeof(int); break;
                    case 2: rex = bananas[*(cat *)ufo]; ufo += sizeof(int); break;
                    case 6: scanf("%ud", bananas + *(cat *)ufo); ufo += sizeof(int); break;
                    case 3:
                    {
                        if (bananas[*(cat *)ufo] > bananas[*(cat *)(ufo + sizeof(int))]) bananas[*(cat *)ufo] = bananas[*(cat *)ufo];
                        else bananas[*(cat *)ufo] = bananas[*(cat *)ufo + *(cat *)(ufo + sizeof(int))]; ufo += 2 * sizeof(int); break;
                    }
                    case 5: bananas[*(cat *)ufo] = bananas[*(cat *)ufo] % bananas[*(cat *)(ufo + sizeof(int))]; ufo += 2 * sizeof(int); break;
    
                }
            }
            apples.clear();
        }
        void a(zero melon)
        {
            apples.push_back(melon);
        }
    };
    int main()
    {
        orange *limon = new orange;
        cat timings[] =
        {
            1, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
            0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 
            0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0
        };
        cat peoples[] = { 1, 1, 0, 0, 0, 6, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7 };
        int backups[] = { 9, 0, 0, 0, 0 };
        cat buldogs[] =
        {
            6, 2, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 2, 0, 0, 0, 4, 7, 0, 0, 0, 2, 0, 0, 0, 5, 2, 0, 0, 0, 1, 0, 0, 0,
            8, 2, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0,
        };
        for (cat fruit = 0; fruit < 0xE + 0b10; ++fruit) {limon->a(peoples[fruit]);} limon->a();
        for (cat juicegrinding = 0; juicegrinding < 33 + 0x50; juicegrinding++){limon->a(timings[juicegrinding]);}
    
        for (cat fish = 0; fish < rex; fish += (100 ^ 0x64 + 0b11) - 0x2)
        {
            for (cat limons = 0; limons < 2 * 2 * 2 * 2 * 2 + 0b100000 - 1; ++limons){limon->a(buldogs[limons]);}
        }
        for (cat apples = 0; apples < 0x16 - 0b10000 - 1; apples++){limon->a(backups[apples]);} limon->a(); delete limon;
    }

    Чувак, позволь мне рассказать, я как волшебник C++, разворачивающий свои кодовые заклинания, словно колдун в цифровом мире. У меня этот язык в кармане, братан, словно дирижер, ведущий симфонию из единиц и нулей. Но не думай, что я буду тут прямо о своей крутости говорить, ой нет, я предпочитаю позволить моему коду говорить за меня.

    Когда я погружаюсь в C++, это словно нырок в бесконечный океан возможностей. Я танцую с указателями, жонглирую ссылками и скачу на волнах управления памятью, словно настоящий мастер. Это дикая гонка, мой друг, но именно от этой адреналиновой суеты я получаю настоящий кайф.

    Но знаешь, что по-настоящему круто? Сила абстракции, парень. Я обожаю создавать эти модульные, многоразовые блоки кода, называемые классами. Они как маленькие вселенные функциональности, которые я могу вызывать в любой момент. А шаблоны, о, братишка, шаблоны — это как швейцарские ножи C++. Они позволяют мне раскрыть всю мощь вычислений на этапе компиляции, словно безумный ученый, готовящий самые потрясающие зелья.

    А теперь сделаем небольшой отступление. Вообрази, чувак, я вгружен в кодовые окопы, сражаясь с багами и отлавливая неэффективности. Это как бесконечный квест, борьба со временем и сложностью. Но, эй, у меня есть мой надежный напарник — стандартная библиотека C++. Она — мой арсенал контейнеров, алгоритмов и вспомогательных функций. С её помощью я могу нарезать и перемешивать данные, словно настоящий шеф-повар в цифровой кухне.

    И не забывай про производительность, парень. Я стараюсь выжать каждую каплю мощи из своего кода. Я ныряю в низкоуровневые операции, знакомлюсь с железом. Вставки ассемблера — моё тайное оружие, способ связи с самим железом. Оптимизирую регистры, высвобождаю кэш и расширяю границы того, что возможно.

    zxc254363, 07 Мая 2023

    Комментарии (1)
  3. Куча / Говнокод #28776

    0

    1. 1
    2. 2
    Альфастрахование» прокомментировало утечку данных клиентов
    https://ko.ru/news/alfastrakhovanie-prokommentiroval-utechku-dannykh-klientov/

    3_dar, 28 Апреля 2023

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

    0

    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
    procedure TMonThread.FillCommentList;
    var
      HTTP:TIdHTTP;
      URI:TIdURI;
      S, Temp, Link, LastCm:string;
      I, J:Integer;
      Comm:TGComment;
      Post:TGpost;
      LinkList:TstringList;
      CommList:TStringList;
    begin
      LinkList:=TStringList.Create;
      CommList:=TStringList.Create;
      HTTP:=TIdHTTP.Create(nil);
      URI:=TIdURI.Create();
      try
        Temp:='';
        LinkList.Sorted:=True;
        LinkList.Duplicates:=DupIgnore;
        HTTP.UserAgent:=uaRandom;
        URI.Host:='govnokod.ru';
        HTTP.Request.Host:='govnokod.ru';
        HTTP.CookieManager.AddServerCookie('auth=a7dbe7abed9025a9a13ea15baa89a08f',URI); 
        Temp:=HTTP.LoadContent('http://govnokod.ru/comments');
        Temp:=StringReplace(Temp,#13#10,'',[rfreplaceall]);
        Temp:=StringReplace(Temp,#13,'',[rfreplaceall]);
        Temp:=StringReplace(Temp,#10,'',[rfreplaceall]);
        ParseAll('<li class="hentry">',Temp,'<div class="show-code">', LinkList);
        for J:=0 to LinkList.Count-1 do
        begin
          if FCanceled then Exit;
          Link:=ParseStr('<h2>Комментарий к <a rel="bookmark" class="entry-title" href="',LinkList[J],'"');
          HTTP.ConnectTimeout:=60000;
          HTTP.ReadTimeout:=60000;
          Temp:='';
          Temp:=HTTP.LoadContent(Link);
          if HTTP.ContentSize>2000000 then Continue;
          if HTTP.ResponseCode <> 200 then Continue;
          if Pos('halted by an exception', Temp)>0 then Exit;
    
          Post:=TGPost.Create;
          LastCm:=Trim(ParseStr('name="comment', LinkList[J],'"'));
          Post.LastCommentId:=StrToInt(LastCm);
          S:=ParseStr('<a rel="bookmark" class="entry-title" href="http://govnokod.ru/', Temp,'"');
          Post.Number:=StrToInt(S);
          Post.Link:='http://govnokod.ru/'+S+'/';
          S:=ParseStr('<p class="author">',Temp,'</p>');
          S:=ParseStr('</a> <a href="http://govnokod.ru/user/',S,'</');
          Post.Author:=StrAfter('>',S);
          FPosts.Add(Post);
          CommList.Clear;
          ParseAll('<div id="comment-',Temp, '</li>', CommList);
          for I:=0 to CommList.Count-1 do
          begin
            if FCanceled then Exit;
            Comm:=TGComment.Create;
            Comm.Author:=ParseStr('<strong class="entry-author"><a href="http://govnokod.ru/user/',CommList[I],'</strong>');
            Comm.Author:=ParseStr('">', Comm.Author,'<');
            Comm.Text:=ParseStr('<span class="comment-text">',CommList[I],'</span></div>');
            Comm.Text:=DecorateText(Comm.Text);
            //comment is hidded?
            Comm.Hidden:=Pos('<span class="hidden-text">',CommList[I])>0;
            // parse and calculate rating values.
            Temp:=ParseStr('<span class="comment-vote">', CommList[I],'</span>');
            //on count
            S:=Trim(StrAfter('title="',Temp));
            S:=Trim(StrBefore(' ',S));
            Comm.OnCount:=StrToInt(S);
            //against count
            S:=Trim(StrAfter('и ',Temp));
            S:=Trim(StrBefore(' ',S));
            Comm.AgainstCount:=StrToInt(S);
            Comm.Rating:=Comm.OnCount-Comm.AgainstCount;
            S:=ParseStr('class="comment-vote-against" href="http://govnokod.ru/ratings/comment/',Temp,'/');
            S:=Format('http://govnokod.ru/ratings/comment/%s/against',[S]);
            Comm.AgainstLink:=S;
            S:=ParseStr('<a class="answer" href="http://govnokod.ru/comments/', CommList[I],'"');
            S:='http://govnokod.ru/comments/'+S;
            Comm.AnswerLink:=S;
            LastCM:=IntToStr(Post.LastCommentId);
            Comm.Last:=Pos(LastCm, Comm.AnswerLink)>0;
            Post.Comments.AddObject(Comm.Text, Comm);
          end;
        end;
      finally
        CommList.Free;
        LinkList.Free;
        HTTP.Free;
        URI.Free;
      end;
    end;

    (Флудоминусатор) Подгрузка и обработка комментариев из стока.

    DOKTOP_CMErMA, 27 Апреля 2023

    Комментарии (3)
  5. Pascal / Говнокод #28774

    0

    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
    function ReplaceHTMLSpec(First, Last, Text, RepTo, RepEd:string):string;
    var
      P:Integer;
      Temp:string;
    begin
      Temp:='';
      while True do
      begin
        P:=AnsiPos(First, Text); // нашли первое вхождение тега...
        if P =0 then Break;
        begin
          Delete(Text, P, Length(First)); // обработали тег...
          Insert(RepTo, Text, P);
          P:=PosEx(Last,Text,P); // ищем вхождение закрывающего тега...
          if P > 0 then
          begin
            Delete(Text, P, Length(Last)); // обработали тег.
            Insert(RepEd, Text, P);
          end;
        end;
      end;
      Result:=text;
    end;
    
    function DecorateText(S:string):string;
    var
      Temp:string;
    begin
      Result:=s;
    
     {замена некоторых распространенных тегов}
      Result:=StringReplace(Result,'<br />','',[rfreplaceall]); // движок не режет переводы строк, нет необходимости заменять <br> на #13#10.
      Result:=StringReplace(Result,'&quot;','"',[rfreplaceall]);
      Result:=StringReplace(Result,'&amp;','&',[rfreplaceall]);
      Result:=StringReplace(Result,'&lt;','<',[rfreplaceall]);
      Result:=StringReplace(Result,'&gt;','>',[rfreplaceall]);
      Result:=StringReplace(Result,'<i>','[i]',[rfreplaceall]);
      Result:=StringReplace(Result,'</i>','[/i]',[rfreplaceall]);
      Result:=StringReplace(Result,'<b>','[b]',[rfreplaceall]);
      Result:=StringReplace(Result,'</b>','[/b]',[rfreplaceall]);
    
      Temp:='';
      Result:=ReplaceHTMLSpec('<span style="color:white;">','</span>',Result,'[color=white]','[/color]');
      Result:=ReplaceHTMLSpec('<span style="color:red;">','</span>',Result,'[color=red]','[/color]');
      Result:=ReplaceHTMLSpec('<span style="color:blue;">','</span>', Result, '[color=blue]','[/color]');
      Result:=ReplaceHTMLSpec('<span style="color:green;">','</span>',Result,'[color=green]','[/color]');
      Result:=ReplaceHTMLSpec('<pre><code class="">','</code></pre>',Result,'[code]','[/code]');
      Result:=ReplaceHTMLSpec('<span style="font-size:10px;">','</span>',Result,'[size=10]','[/size]');
      Result:=ReplaceHTMLSpec('<span style="font-size:15px;">','</span>',Result,'[size=15]','[/size]');
      Result:=ReplaceHTMLSpec('<span style="font-size:20px;">','</span>',Result,'[size=20]','[/size]');
      Result:=ReplaceHTMLSpec('<span style="text-decoration:underline;">','</span>',Result,'[u]','[/u]');
      Result:=ReplaceHTMLSpec('<span style="text-decoration:line-through;">','</span>',Result,'[s]','[/s]');
      Result:=ReplaceHTMLSpec('<span style="text-decoration:blink;">','</span>',Result,'[blink]','[/blink]');
    end;

    Процедура для замены HTML-тегов на bb-codes, для их корректной обработки движком сайта,
    при копировании/перепостинге комментария флудером.

    DOKTOP_CMErMA, 27 Апреля 2023

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

    −1

    1. 1
    console.log(...($$ = $ => (~-~-$ && $$(~-$), (_$ = $_ => $ % (_[~~$_] ??= $) ? _$(-~$_) : _)()))((_ = []) + -~_ + -_ + -_))

    Как ровные пацаны выводят в консоль первые 25 простых чисел

    sex_mashina, 20 Апреля 2023

    Комментарии (7)
  7. Java / Говнокод #28755

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private boolean orPredicate;
    
        public boolean isOrPredicate() {
            return orPredicate;
        }

    sbnet, 19 Апреля 2023

    Комментарии (536)
  8. Си / Говнокод #28745

    0

    1. 1
    2. 2
    printf ("%d file%s processed", nfiles,
            nfiles != 1 ? "s" : "");

    Из официального гайда "GNU" по написанию кода на "C".

    JloJle4Ka, 17 Апреля 2023

    Комментарии (1005)
  9. Lua / Говнокод #28744

    0

    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
    local function isEven(number)
        local code = "return "
        for i = 1, number do
            code = code .. "false"
            if i ~= number then
                code = code .. " =="
            end
        end
    
        return load(code)()
    end
    
    print("Enter number: ")
    if isEven(tonumber(io.read())) then
        print("Number is even")
    else
        print("Number is odd")
    end

    Определяет чётность числа. Работает для чисел >= 1 (Желательно <= 1000, чем лучше компьютер, тем больше)

    pidoras123, 16 Апреля 2023

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

    0

    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
    from miditk.smf    import MidiSequence
    from miditk.common import constants
    from sys           import argv
    import datetime
    
    sequence = MidiSequence.fromfile(argv[1])
    dt0      = datetime.datetime(1,1,1)
    tail     = ''
    
    for time, group in sequence.events_by_time():
         ms          = datetime.timedelta(milliseconds=time)
         pretty_time = (dt0+ms).strftime('%M:%S.%f')[:-4]
         
         for ev in group:
             if ev.meta_type == constants.TEXT:
                 text = ev.data.decode('windows-1251')
                 if text and (text[0] == '@' or text[0] == '/' or text[0] == '\\'):
                     if tail: # выводим отложенный текст
                         if tail[0] == '\\': # отбиваем абзац
                             print(f'[{pt}]') 
                         if tail[0] == '@':  # шапка, убираем префиксы типа @T, @L
                             print(f'[{pt}]{tail[2:]}')
                         else:
                             print(f'[{pt}]{tail[1:]}')
                     pt = pretty_time
                     tail = text
                 else:        # откладываем текст на потом
                   tail = tail + text

    Наговнякал на коленках конь-вертер текстов песен из .KAR (.midi со словами в событиях типа 1 = TEXT) в .LRC, чтобы готовые тексты можно было использовать с проигрывателями mp3- или flac-файлов.

    Зависит от https://pypi.org/project/miditk-smf/

    ropuJIJIa, 12 Апреля 2023

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