1. PHP / Говнокод #25288

    0

    1. 1
    $ 67.18

    Ksyrx, 06 Января 2019

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

    +4

    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
    #include <stdio.h>
    #include <string>
    
    const struct FooAgeProperty {} age;
    const struct FooNameProperty {} name;
    
    template <typename T>
    struct FooPropertyAssignment {
    	FooPropertyAssignment(T* prop): prop(prop) { }
    
    	T* prop;
    };
    
    struct years {
    	int i;
    
    	years& operator=(FooPropertyAssignment<int> fpa) {
    		*fpa.prop = i;
    		return *this;
    	}
    };
    
    struct nam {
    	std::string s;
    
    	nam& operator=(FooPropertyAssignment<std::string> fpa) {
    		*fpa.prop = s;
    		return *this;
    	}
    };
    
    years operator""years(unsigned long long value) {
    	return { (int)value };
    }
    
    nam operator""_(const char* value, size_t) {
    	return { value };
    }
    
    struct NegativeFoo {
    	NegativeFoo(int* age, std::string* name): age(age), name(name) {}
    
    	int* age;
    	std::string* name;
    };
    
    FooPropertyAssignment<int> operator<(FooAgeProperty fap, NegativeFoo nfoo) {
    	return FooPropertyAssignment<int>(nfoo.age);
    }
    
    FooPropertyAssignment<std::string> operator<(FooNameProperty fnp, NegativeFoo nfoo) {
    	return FooPropertyAssignment<std::string>(nfoo.name);
    }
    
    struct Foo;
    Foo* nasty_global_variable;
    
    struct Foo {
    	Foo() {
    		nasty_global_variable = this;
    	}
    
    	NegativeFoo operator-() {
    		return NegativeFoo(&age, &name);
    	}
    
    	int age;
    	std::string name;
    };
    
    struct to_string {
    	struct foo {
    		foo(int (*)(const char*, ...)) {
    			printf(".old years %d am I and %s is name My\n", nasty_global_variable->age, nasty_global_variable->name.c_str());
    		}
    	};
    };
    
    int main() {
    	Foo foo;
    	5years = age<-foo;
    	"Billy"_ = name<-foo;
    	(to_string::foo)printf;
    }

    https://www.reddit.com/r/ProgrammerHumor/comments/acv2og/just_wrote_my_first_program_in_c/

    Nyamka, 06 Января 2019

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

    −1

    1. 1
    Нам нужен бойцовый петух.

    Петухинхо

    bit0rez, 05 Января 2019

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

    +1

    1. 1
    2. 2
    3. 3
    Знаете ли Вы, что ReadPrivateProfileString игнорирует закрывающую квадратную скобку в названии секции?
    
    [ThereAreValidSectionName

    Куд-куд-кудат-куд-куд!

    3oJloTou_neTyx, 05 Января 2019

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

    −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
    В школе я был влюблён в Серёженьку - парня из нашего класса. Он был отличником, пользовался вниманием девчонок и был самым лучшим физкультурником.
    Высокий, с кудрявыми, золотистыми волосами и томными голубыми глазами, он был просто великолепен в свои 16... Но меня он не признавал, предпочитая мне общество симпатичных, но ветреных восьмиклассниц.
    Возможно, он не верил, что с парнем ему может быть так же хорошо, как с девушкой, боялся разочарования. Лишь раз он взглянул на меня... 
    Как-то раз распахнув дверь школьного туалета, я увидел Сергея. Он стоял у окна с папироской. Увидев меня, он поначалу испугался, но потом продолжил курить с безмятежным видом. Я растерянно молчал.
    Он спрыгнул с окна и подошёл. Встал - и молчит. Я тоже молчу. Прошло какое-то время.
    -Че пялишься? Нравлюсь? Я молча кивнул. Вдруг он погладил меня по голове. Я совсем растерялся, а он всё улыбался, не сводя с меня взгляд.
    Вдруг он поцеловал меня. Прикосновение его губ было приятным, я едва не потерял сознание от наслаждения.
    Почувствовав свободудействий, я нащупал изрядный бугорок между его ног, и провел по нему ладонью. Сергей прервал поцелуй и строго посмотрел на меня.
    -Это что сейчас было?
    -Я хочу тебя, хочу быть твоей девушкой.
    -Допустим. Он замолчал, словно обдумывая план. Потом расстегнул штаны, взял мою руку и положил на поверх трусов.
    -Не стесняйся, потрогай. Он подошел вплотную, его член торчал из брюк, словно рычак токарного станка. Я взял член в руку. 
    Он застонал, обхватил мои ладони руками, и стал водить ими по члену. Потом мы опять слились в долгом поцелуе.
    
    Я отчаянно дрочил  ему, потом упав на колени взял член в рот.  Сергей, обезумев от наслаждения, сношал мой рот в бешенном темпе; скоро мне в горло потекла сперма.
    Застонав в последний раз, он прижал мое лицо к своему паху, вынул обмякший член и стал водить им мне по лицу, размазывая слюну и остатки спермы.
    
    Он взглянул на меня, поднял и жадно поцеловал.
    
    (а продолжение придумайте сами).

    3oJloTou_neTyx, 05 Января 2019

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

    +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
    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
    function preventSelection(element){
      var preventSelection = false;
    
      function addHandler(element, event, handler){
        if (element.attachEvent) 
          element.attachEvent('on' + event, handler);
        else 
          if (element.addEventListener) 
            element.addEventListener(event, handler, false);
      }
      function removeSelection(){
        if (window.getSelection) { window.getSelection().removeAllRanges(); }
        else if (document.selection && document.selection.clear)
          document.selection.clear();
      }
      function killCtrlA(event){
        var event = event || window.event;
        var sender = event.target || event.srcElement;
    
        if (sender.tagName.match(/INPUT|TEXTAREA/i))
          return;
    
        var key = event.keyCode || event.which;
        if (event.ctrlKey && key == 'A'.charCodeAt(0))  // 'A'.charCodeAt(0) можно заменить на 65
        {
          removeSelection();
    
          if (event.preventDefault) 
            event.preventDefault();
          else
            event.returnValue = false;
        }
      }
    
      // не даем выделять текст мышкой
      addHandler(element, 'mousemove', function(){
        if(preventSelection)
          removeSelection();
      });
      addHandler(element, 'mousedown', function(event){
        var event = event || window.event;
        var sender = event.target || event.srcElement;
        preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
      });
    
      // борем dblclick
      // если вешать функцию не на событие dblclick, можно избежать
      // временное выделение текста в некоторых браузерах
      addHandler(element, 'mouseup', function(){
        if (preventSelection)
          removeSelection();
        preventSelection = false;
      });
    
      // борем ctrl+A
      // скорей всего это и не надо, к тому же есть подозрение
      // что в случае все же такой необходимости функцию нужно 
      // вешать один раз и на document, а не на элемент
      addHandler(element, 'keydown', killCtrlA);
      addHandler(element, 'keyup', killCtrlA);
    }

    Долбоёбы борются с ветряными мельницами.

    gost, 05 Января 2019

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

    −1

    1. 1
    .

    Справедливо ли утверждение о том, что большинство из присутствующих дрочатся с программированием и прочей ойти хуйней почти всё свободное и всё рабочее время?

    crestoblyad, 05 Января 2019

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

    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
    while True:
        prev_word = next_word
        if next_word.is_empty():
            next_word = random.choice(words)
        else:
            next_word = chain.get_next_word(next_word.root, lambda: Text.Word(''))
    
        suffix = suffix_chain.get_next_word((prev_word.suffix, next_word.root), lambda: '')
        if len(suffix) == 0:
            suffix = next_word.suffix
    
        punct = punct_chain.get_next_word(next_word.root, lambda: '')
    
        if len(output_words) == 0 or output_words[-1].is_ending_word():
            res_word = Text.PunctedWord(next_word.root.capitalize(), suffix, punct)
        else:
            res_word = Text.PunctedWord(next_word.root, suffix, punct)
    
        output_words += [res_word] 
        generated_chars += len(res_word)
        if chars_max_count > 0 and generated_chars > chars_max_count:
            break
        if words_max_count > 0 and len(output_words) > words_max_count:
            break

    Вореции. Генерации. Кобенации. Теперь в энтерпрайз почти ООП-стиле!
    s: https://github.com/gost-gk/vorec-enterprise

    gost, 05 Января 2019

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

    +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
    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
    96. 96
    97. 97
    #include <bits/stdc++.h>
    using namespace std;
    vector <pair<int,int> > vpp;
    long long vres = 0;
    int get_dist(pair<int,int> l, pair<int,int> r)
    {
        int ans1 = abs(l.first - r.first);
        int ans2 = abs(l.second - r.second);
        return ans1 + ans2;
    
    }
        pair<vector <pair<int,int> > , long long>  rec(const string &s, int id,long long len,pair<int,int> pos,vector <vector <pair<int,int> > > &cl, vector <pair<int,int> > p)
    {
        if(id == (int)s.size())
            return {p,len};
        int st = s[id] - 'a';
        pair<vector <pair<int,int> > , long long> ans,tmp;
    
        for(int j = 0; j < (int)cl[st].size(); ++j)
        {
            p.push_back({cl[st][j]});
            tmp = rec(s,id + 1, len + get_dist(pos, cl[st][j]), cl[st][j], cl,p);
            if(tmp.second >= ans.second)
            {
                ans = tmp;
            }
            p.pop_back();
        }
        return ans;
    }
    #define mag pair< pair< vector< pair<int,int> > , long long>  , pair< pair< int,int >,pair< int,int > > >
    mag raz(int l, int r,const string &s,vector <vector <pair<int,int> > > &cl)
    {
    
        mag v1,v2;
        vector <pair<int,int> > p;
        if(r - l >= 1)
        {
            int tm = (l + r) >> 1;
            v1 = raz(l,tm,s,cl);
            bool f = 1;
            if(tm + 1 > r)
            {
                v2 = v1;
                f = 0;
            }
            else
                v2 = raz(tm + 1,r,s,cl);
          //  int st1 = ar[v1.second.first.first][v1.second.first.second];
           // int st2 = ar[v2.second.first.first][v2.second.first.second];
            long long len = 0;
    
    ///merge
            int n = (int)v1.first.first.size();
            len += v1.first.second;
            for(int i = 0; i < n; ++i)
            {
                p.push_back(v1.first.first[i]);
            }
            if(f)
            {
                len += v2.first.second;
                int n = (int)v2.first.first.size();
                for(int i = 0; i < n; ++i)
                {
                    p.push_back(v2.first.first[i]);
                }
            }
            len += get_dist(v1.second.second, v2.second.first);
            return {{p,len}, {v1.second.second, v2.second.first}};
        }
    
        int st = s[l] - 'a';
        int x1 = rand() % (int)cl[st].size();
        p.push_back(cl[st][x1]);
       // cout << cl[st].size() << " " << l << " " << r <<'\n';
        return {{p,0},{cl[st][x1],cl[st][x1]}};
    }
    //pair<int,vector <pair<int,int> > > solve(ifstream &cin, ofstream &cout)
     void solve(ifstream &cin, ofstream &cout)
    {
        vector <int> used(26);
        vector <vector <pair<int,int> > > cl(26);
        int n, m ,l;
        cin >> n >> m >> l;
        vector <vector <char > > ar(n,vector <char> (m));
        for(int i = 0; i < n; ++i)
        {
            for(int j = 0; j < m; ++j)
            {
                cin >> ar[i][j];
            }
        }
        string s;
        cin >> s;
        for(int i = 0; i < n; ++i)
        {

    omnocoder, 04 Января 2019

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    struct ApplyFunctor {
      template <typename Rules, typename ... Args>
      bool operator()(const Rules &rules, Args && ... args) const {
        for (const auto &rule : rules) {
          if (!rule.apply(std::forward<Args>(args)...))
            return false;
        }
    
        return true;
      }
    };

    Perfect forwarding, сцуко, такой perfect. Но все же не заменяет мозг.

    Elvenfighter, 04 Января 2019

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