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

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Ранее, полемизируя с пархатыми разных возрастов и ориентаций, я никак не мог взять в толк, отчего индивид,
     столь хорошо шпрохающий по-русише, с типичным, вроде бы, мышлением и при этом не украинец, 
    толерантен к оскорблениям, кои несомненно были бы весьма обидны русской душе.
    
    Теперь-то я понимаю. Еврейский душок все крепче.

    Отрадно, что по крайней мере, на говнокоде он постепенно выветривается.

    doomginho, 24 Февраля 2025

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

    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
    void main() {
        ph_fork f1, f2, f3, f4, f5;
    
        f_arr[0] = &f1;
        f_arr[1] = &f2;
        f_arr[2] = &f3;
        f_arr[3] = &f4;
        f_arr[4] = &f5;
    
        philosopher ph1, ph2, ph3, ph4, ph5;
    
        ph_arr[0] = &ph1;
        ph_arr[1] = &ph2;
        ph_arr[2] = &ph3;
        ph_arr[3] = &ph4;
        ph_arr[4] = &ph5;
    
        f1.number = 1;
        sem_init(&f1.is_free, 0, 1);
    
        f2.number = 2;
        sem_init(&f2.is_free, 0, 1);
    
        f3.number = 3;
        sem_init(&f3.is_free, 0, 1);
    
        f4.number = 4;
        sem_init(&f4.is_free, 0, 1);
    
        f5.number = 5;
        sem_init(&f5.is_free, 0, 1);
    
        ph1.number = 1;
        ph1.ph_fork_amount = 0;
        ph1.ph_forks[0] = 1;
        ph1.ph_forks[1] = 2;
        ph1.times_eaten = 0;
        ph1.times_thought = 0;
        ph1.st = THINKING;
        pthread_create(&ph1.thread, NULL, routine, (void*)&ph1);
    
        ph2.number = 2;
        ph2.ph_fork_amount = 0;
        ph2.ph_forks[0] = 2;
        ph2.ph_forks[1] = 3;
        ph2.times_eaten = 0;
        ph2.times_thought = 0;
        ph2.st = THINKING;
        pthread_create(&ph2.thread, NULL, routine, (void*)&ph2);
    
        ph3.number = 3;
        ph3.ph_fork_amount = 0;
        ph3.ph_forks[0] = 3;
        ph3.ph_forks[1] = 4;
        ph3.times_eaten = 0;
        ph3.times_thought = 0;
        ph3.st = THINKING;
        pthread_create(&ph3.thread, NULL, routine, (void*)&ph3);
    
        ph4.number = 4;
        ph4.ph_fork_amount = 0;
        ph4.ph_forks[0] = 4;
        ph4.ph_forks[1] = 5;
        ph4.times_eaten = 0;
        ph4.times_thought = 0;
        ph4.st = THINKING;
        pthread_create(&ph4.thread, NULL, routine, (void*)&ph4);
    
        ph5.number = 5;
        ph5.ph_fork_amount = 0;
        ph5.ph_forks[0] = 5;
        ph5.ph_forks[1] = 1;
        ph5.times_eaten = 0;
        ph5.times_thought = 0;
        ph5.st = THINKING;
        pthread_create(&ph5.thread, NULL, routine, (void*)&ph5);
    
        pthread_join(ph1.thread, NULL);
        pthread_join(ph2.thread, NULL);
        pthread_join(ph3.thread, NULL);
        pthread_join(ph4.thread, NULL);
        pthread_join(ph5.thread, NULL);
    
        sem_destroy(&f1.is_free);
        sem_destroy(&f2.is_free);
        sem_destroy(&f3.is_free);
        sem_destroy(&f4.is_free);
        sem_destroy(&f5.is_free);
    
        printf("\nThe lunch has ended!\n--------\nRESULTS:\nPhilosopher 1 has eaten %d times and thought %d times\nPhilosopher 2 has eaten %d times and thought %d times\nPhilosopher 3 has eaten %d times and thought %d times\nPhilosopher 4 has eaten %d times and thought %d times\nPhilosopher 5 has eaten %d times and thought %d times\n", ph1.times_eaten, ph1.times_thought, ph2.times_eaten, ph2.times_thought, ph3.times_eaten, ph3.times_thought, ph4.times_eaten, ph4.times_thought, ph5.times_eaten, ph5.times_thought);
    }

    Решение задачи про обедающих философов, часть вторая.

    GDMaster, 13 Февраля 2025

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

    +2

    1. 1
    Итак, господа.

    ...В этом году послания от Шугар Плюм Файри-и не будет. Вместо нее вас поздравлю я.

    ...Зимандр будет умеренно суровый, от слова "умеренно".
    ...Войнах, как мы видим, в этом году не закончился, более того, нас уже осыпают поздравляшками с самолетиков. Похоже, поэтому и не пришла снегурочка - стало стыдно, что подпиздела, ну, или что уже не целка. Ладно. Не суть.

    Суть в том, что в этом году (и в последующих) многие семьи получат по украинской шкатулочке. А к тем, кто был не настолько глуп, чтобы идти на убой, морозя жопу и попутно разбазаривая боезапас на белок (а может, просто очко играло?), дедушка-мороз прилетит на дроне.

    В общем, с праздником. Пусть не последним он будет.

    3uMuCTOH, 26 Декабря 2024

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

    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
    #include <iostream>
    
    union is_odd {
      long long int number;
      bool yes : sizeof(long long int);
    };
    
    int main() {
      std::boolalpha(std::cout);
      for (long long int i = -10; i < 10; ++i) {
        std::cout << i << " is odd? "
                  << is_odd{ .number = i }.yes
                  << "\n";
      }
    }

    DEMO:
    https://godbolt.org/z/5exc84eYK

    shittycode43, 15 Ноября 2024

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

    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
    template <typename T, typename... Ts>
    struct StructureChain : T, StructureChain<Ts...>
    {
    	StructureChain(const T &t, const Ts&... a) : T(t), StructureChain<Ts...>(a...)
    	{
    		((T*)this)->pNext = (StructureChain<Ts...>*)this;
    	}
    };
    
    template <typename T>
    struct StructureChain<T> : T
    {
    	StructureChain(const T &t) : T(t){}
    };
    
    // Positional arguments? Im my C++?  It's more likely than you think!
    template<typename T>
    struct SetterFunc;
    template<typename T, typename V>
    struct SetterVal
    {
    	const SetterFunc<T> &func;
    	const V &val;
    	SetterVal(const SetterFunc<T> &f, const V &v) : func(f), val(v){}
    };
    template<typename T>
    struct SetterFunc
    {
    	const T &func;
    	SetterFunc(const T &data)
    		: func(data)
    	{}
    	template <typename V>
    	SetterVal<T,V> operator() (const V &v) {return SetterVal(*this,v);}
    	template <typename V>
    	SetterVal<T,V> operator= (const V &v) {return SetterVal(*this,v);}
    };
    
    template <typename T, typename... Ts>
    void FillStructure(T &t, const Ts&... ts)
    {
    	auto filler = [](T &t, const auto &arg){
    		auto T::*ptr = arg.func.func(t);
    		t.*ptr = arg.val;
    	};
    	(filler(t,ts),...);
    }
    // todo: remove extra unused copy
    #define $(k) SetterFunc([](auto a){return &decltype(a)::k;})
    
    template <typename T, typename... Ts>
    T $M(T t, const Ts&... ts)
    {
    	FillStructure(t, ts...);
    	return t;
    }
    // ...
    		VkSubresourceLayout layout = {0};
    		layout.rowPitch = pitch1;
    
    		StructureChain iinfo{
    			$M(VkImageCreateInfo{VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO},
    			   $(imageType) = VK_IMAGE_TYPE_2D,
    			   $(format) = p010?VK_FORMAT_R16_UNORM:VK_FORMAT_R8_UNORM,
    			   $(extent) = VkExtent3D{ WIDTH, HEIGHT, 1 },
    			   $(mipLevels) = 1,
    			   $(arrayLayers)= 1,
    			   $(samples) =VK_SAMPLE_COUNT_1_BIT,
    			   $(tiling) = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT,
    			   $(usage) = VK_IMAGE_USAGE_STORAGE_BIT,
    			   $(sharingMode) = VK_SHARING_MODE_EXCLUSIVE
    			   ),
    			$M(VkExternalMemoryImageCreateInfo{VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO},
    			   $(handleTypes) = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
    			   ),
    			$M(VkImageDrmFormatModifierExplicitCreateInfoEXT{VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT},
    			   $(drmFormatModifierPlaneCount) = 1,
    			   $(drmFormatModifier) =  mod,
    			   $(pPlaneLayouts) = &layout
    			)
    		};
    		VK_CHECK_RESULT(vkCreateImage(dev.device, &iinfo, NULL, &texture0.image)); // create image.

    Positional arguments? Im my C++? It's more likely than you think!

    mittorn, 15 Октября 2024

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

    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
    if "=" in cell_content:
                command["relation"] = "eq"
            elif "≠" in cell_content or "!=" in cell_content:
                command["relation"] = "ne"
            elif "<" in cell_content or "<" in cell_content:
                command["relation"] = "lt"
            elif "≤" in cell_content:
                command["relation"] = "le"
            elif ">" in cell_content or ">" in cell_content:
                command["relation"] = "gt"
            elif "≥" in cell_content:
                command["relation"] = "ge"

    Не, ну а как еще-то

    youjin1985, 14 Марта 2024

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(int i = 0; i < p.mDict.TblSize; i++)
    		for(auto *node = p.mDict.table[i]; node; node = node->n)
    			for(int j = 0; j < node->v.TblSize; j++)
    				for(int k = 0; k < node->v.table[j].count; k++ )
    					if(node->v.table[j][k].v)
    						Log("Section %s: unused config key %s = %s\n", node->k, node->v.table[j][k].k, node->v.table[j][k].v);

    mittorn, 14 Марта 2024

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

    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
    #include <windows.h>
    
    #define PL 7	//длинна пароля
    
    const char F[] = "`1234567890-=\\qwertyuiop[]asdfghjkl;'zxcvbnm,./";
    const char N[] = "1`2q1qw32we43er54rt65ty76yu87ui98io09op-0p[=-[]\\=]12wa23esaq34rdsw45tfde56ygfr67uhgt78ijhy89okju90plki0-[;lo-=]';p=\\'[qwszwedxzaerfcxsrtgvcdtyhbvfyujnbguikmnhiol,mjop;.,kp['/.l[]/;asxsdczxdfvcfgbvghnbhjmnjk,mkl.,l;/.;'";
    const char L[] = { 1, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3 };
    
    struct _
    {
    	char P[PL + 1];
    	BYTE I[256], O[48];
    };
    
    void __stdcall $(int n, char c, _ *X)
    {
    	X->P[n++] = c;
    	for (int i = 0; n < PL && i < L[X->I[c]]; $(n, N[X->O[X->I[c]] + i++], X));
    	for (int i = 0, d = 0, l = 0, s = 0; n == PL && i < n; (X->P[i] >= '0' && X->P[i] <= '9') ? d++ : (X->P[i] >= 'a' && X->P[i] <= 'z') ? l++ : s++, (d && l && s) ? _lwrite(-11, X->P, ++n), i = n : i++);
    }
    
    void main()
    {
    	_ w;
    
    	w.P[PL] = '\n';
    
    	for (int i = 0; i < 47; w.I[F[i]] = i, w.O[i] = i ? w.O[i - 1] + L[i - 1] : 0, i++);
    	for (int i = 0; i < 47; $(0, F[i++], &w));
    }

    Генератор сложных (буквы, цифры, символы) паролей с выводом в консоль.
    Выводит ВСЕ пароли заданной длинны, которые можно ввести по соседним клавишам без шифта. Всякие лесенки, зигзаги и т.п., т.е. все плохие...
    В main переименовал, чтоб скомпилировать. Релизный exe-шник сразу стёр антивирус, сказал Trojan:Win32/Wacatac.B!ml
    Обфускаторы рулят :)

    sprog, 06 Декабря 2023

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    const uint8_t DexFile::kDexMagic[] = { 'd', 'e', 'x', '\n' };
    const uint8_t DexFile::kDexMagicVersions[DexFile::kNumDexVersions][DexFile::kDexVersionLen] = {
      {'0', '3', '5', '\0'},
      // Dex version 036 skipped because of an old dalvik bug on some versions of android where dex
      // files with that version number would erroneously be accepted and run.
      {'0', '3', '7', '\0'}
    };

    Отсюдова:
    https://android.googlesource.com/platform/art/+/refs/heads/nougat-release/runtime/dex_file.cc

    ropuJIJIa, 26 Августа 2023

    Комментарии (2)
  11. Python / Говнокод #28652

    0

    1. 1
    https://gitlab.com/muzena/iptv/-/blob/master/usr/lib/astronciaiptv/astroncia_iptv.py

    тут каждая строчка - это говнокод

    ACTPE9I, 27 Марта 2023

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