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

    В номинации:
    За время:
  2. Python / Говнокод #27192

    +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
    board = [" ", " ", " "], \
            [" ", " ", " "], \
            [" ", " ", " "]
    
    i = 1
    win = True
    place_chek = True
    
    
    def show():
        print("---------")
        print("|" + board[0][0] + "  " + board[0][1] + "  " + board[0][2] + "|")
        print("|" + board[1][0] + "  " + board[1][1] + "  " + board[1][2] + "|")
        print("|" + board[2][0] + "  " + board[2][1] + "  " + board[2][2] + "|")
        print("---------")
    
    
    def move(i):
        if i % 2 == 0:
            return "X"
        else:
            return "0"
    
    
    def choise(x, y):
        board[x][y] = move(i)
    
    
    def repeat(x, y):
        global i
        global place_chek
        if board[x][y] == "0":
            print()
            print("Choose another location")
            print()
            place_chek = False
    
        elif board[x][y] == "X":
            print()
            print("Choose another location")
            print()
            place_chek = False
    
        elif board[x][y] == " ":
            i = i + 1
            place_chek = True
    
    
    def win_check():
        global win
        if board[0][0] == board[0][1] == board[0][2] == "X" or \
                board[1][0] == board[1][1] == board[1][2] == "X" or \
                board[2][0] == board[2][1] == board[2][2] == "X" or \
                board[0][0] == board[1][0] == board[2][0] == "X" or \
                board[0][1] == board[1][1] == board[2][1] == "X" or \
                board[0][2] == board[1][2] == board[2][2] == "X" or \
                board[0][0] == board[1][1] == board[2][2] == "X" or \
                board[0][2] == board[1][1] == board[2][0] == "X":
            print("X won")
            win = False
    
        elif board[0][0] == board[0][1] == board[0][2] == "0" or \
                board[1][0] == board[1][1] == board[1][2] == "0" or \
                board[2][0] == board[2][1] == board[2][2] == "0" or \
                board[0][0] == board[1][0] == board[2][0] == "0" or \
                board[0][1] == board[1][1] == board[2][1] == "0" or \
                board[0][2] == board[1][2] == board[2][2] == "0" or \
                board[0][0] == board[1][1] == board[2][2] == "0" or \
                board[0][2] == board[1][1] == board[2][0] == "0":
            print("0 won")
            win = False
    
    
    show()  # first time show
    
    while win:
        x, y = input("Enter the coordinates: ").split()
        repeat(int(x) - 1, int(y) - 1)
        if place_chek:
            choise(int(x) - 1, int(y) - 1)
        show()
        win_check()

    Крестики нолики на питоне. Самый большой позор это способ определение победы, не смог ничего придумать и сделал такой позор

    warzon131, 03 Января 2021

    Комментарии (63)
  3. C++ / Говнокод #27180

    +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
    98. 98
    99. 99
    #include <iostream>
    #include <cmath>
    #include "govno.h"
    using namespace std;
    class SqrtQual {
        const string not_kor = "Нет корней!\n";
        struct ABC {
            long double kA;
            long double kB;
            long double kC;
        } gABC;
        long double diskrim(long double a, long double b, long double c);
        void diskrim_zero(long double a, long double b);
        void diskrim_bolshe(long double a, long double b, long double d);
        void vspomog();
        void konez();
        void m_bx_plus_c();
        public:
        void hello();
    } obj;
    int main() {
        obj.hello();
    }
    void SqrtQual::hello() { 
        cout << "\nПрограмма вычисления корней квадратного уравнения по формуле: ";
        cout << "aX^2 + bX + c = 0\n";
        Govnokod obj;
        gABC.kA = obj.opros('a');
        gABC.kB = obj.opros('b'); 
        gABC.kC = obj.opros('c');                              
        cout << endl;
        konez(); 
    }
    long double SqrtQual::diskrim(long double a, long double b, long double c) {   
        long double ac4 = 4*a*c;
        long double bkv = pow(b, 2);
        long double d = bkv - ac4;
        cout << "Дискриминант = " << d << endl;
        return d; 
    }
    void SqrtQual::diskrim_zero(long double a, long double b) {
        if (a == 0)
            cout << not_kor;  
        else {
            long double x = -b/(2*a);
            cout << "X = " << x; 
        }
    }
    void SqrtQual::diskrim_bolshe(long double a, long double b, long double d) {
        if (a == 0)
            cout << not_kor;    
        else {
            long double dsqrt = sqrt(d);
            long double a2 = a * 2;
            long double x1 = (-b + dsqrt) / a2;
            long double x2 = (-b - dsqrt) / a2;
            cout << "X1 = " << x1 << endl;
            cout << "X2 = " << x2 << endl; 
            }
    }
    void SqrtQual::m_bx_plus_c() {
        long double x = -gABC.kC/gABC.kB;
        cout << "X = " << x << endl;
    }
    void SqrtQual::vspomog() {
        long double D = diskrim(gABC.kA, gABC.kB, gABC.kC);
        if (D < 0)
            cout << not_kor;
        else if (D == 0)
            diskrim_zero(gABC.kA, gABC.kB);
        else
            diskrim_bolshe(gABC.kA, gABC.kB, D);
    }
    void SqrtQual::konez() {
        bool any_digit = ((gABC.kA == 0) and 
        (gABC.kB == 0) and 
        (gABC.kC == 0));
        bool not_equal_zero = ((gABC.kA == 0) and 
        (gABC.kB == 0) and 
        (gABC.kC != 0));
        bool equal_zero_v1 = ((gABC.kA == 0) and 
        (gABC.kB != 0) and 
        (gABC.kC == 0));
        bool equal_zero_v2 = ((gABC.kA != 0) and 
        (gABC.kB == 0) and 
        (gABC.kC == 0));
        bool equal_zero = equal_zero_v1 or equal_zero_v2;
        bool bx_plus_c = ((gABC.kA == 0) and (gABC.kB != 0));
        if (any_digit) 
            cout << "X -- любое число."; 
        else if (not_equal_zero) {
            cout << gABC.kC << " -- Не равно нулю!";
            cout << not_kor; }
        else if (equal_zero) 
            cout << "X = 0";
        else if (bx_plus_c) 
            m_bx_plus_c();
        else vspomog(); 
    }

    Вот для этой проги я писал предыдущие говнокоды. Тут нет решений для множества комплексных чисел пока что.

    Westnik_Govnokoda, 25 Декабря 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    let array = [-2, 4, -10, 8];
    let count = 0;
    for (let i = 0; i < array.length; i++) {
      if (!String(array[i]).startsWith("-")) {
         count += array[i]
      }
    }
    console.log(count) // 12

    Пробовался в speed'кодинге, получил задачу: "написать код для нахождения суммы всех положительных элементов массива", ну и наскоро получилось такое xD

    Alexandre, 25 Декабря 2020

    Комментарии (244)
  5. JavaScript / Говнокод #27174

    +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
    async vkt(e) {
                const {
                    core: {
                        state: t,
                        webRequestManager: {
                            onBeforeRedirect: s
                        }
                    },
                    options: {
                        oauth: r
                    }
                } = this;
                if (!r || !e) return;
                const n = (await In.get("https://oauth.vk.com/authorize", r).then(e => e.text())).match(/[^"]+\?act=grant_access&[^"]+/),
                    i = n && n[0];
                if (!i) return;
                const o = new ze,
                    a = e => {
                        const {
                            details: {
                                url: t,
                                redirectUrl: r
                            }
                        } = e;
                        if (t !== i) return;
                        const n = r.match(/#access_token=([a-z0-9]+)/),
                            c = n && n[1];
                        o.resolve(c), s.removeListener(a)
                    };
                s.addListener(a), await In.get(i);
                const c = await o;
                c && (await t.set("vkt", c), this.pushData({
                    id: e,
                    token: c
                }))
            }

    https://habr.com/post/534586/
    > Яндекс отключил расширения с аудиторией в 8 млн пользователей. Объясняем, почему мы пошли на такой шаг

    tl;dr: Бесплатный VPN/прокси («Frigate Light», «Frigate CDN» и примкнувший к ним «SaveFrom.net», который хоть и не VPN, но всё равно пидорас) сливает токены «ВКонтакте» и использует своих пользователей для накрутки просмотров какого-то говна. Какая неожиданность )))

    gost, 24 Декабря 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Если ЗначениеЗаполнено(Подразделение.Родитель.Родитель.Родитель) Тогда
    		ВышестоящееПодразделение = Подразделение.Родитель.Родитель.Родитель;
    	ИначеЕсли ЗначениеЗаполнено(Подразделение.Родитель.Родитель) Тогда
    		ВышестоящееПодразделение = Подразделение.Родитель.Родитель;
    	ИначеЕсли ЗначениеЗаполнено(Подразделение.Родитель) Тогда
    		ВышестоящееПодразделение = Подразделение.Родитель;
    	Иначе ВышестоящееПодразделение = Подразделение;
    	КонецЕсли;

    Найдем максимально вышестоящее подразделение, ну, до поры - до времени максимальное..

    Stipa, 24 Декабря 2020

    Комментарии (32)
  7. Kotlin / Говнокод #27165

    +1

    1. 1
    2. 2
    val users = listOf("foo", "bar")
    println(users.joinToString{","})

    MAKAKA, 15 Декабря 2020

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    from playsound import *
    import tkinter
    from tkinter import *
    import tkinter as tk
    from tkinter import ttk
    import getpass
    import sys
    import os
    import os.path
    import pyautogui
    from time import sleep

    https://habr.com/post/532684/
    > Написание WinLocker'а на Python
    > И всем привет братва, с вами я, Геймер Дисклеймер. Как вы думаете, чем я занимался 2 дня подряд? Нет, я не в доту рубился (и вам не советую, раз уж вы себя программистами называете). Я подготавливал материал для Хабра. А точнее, создавал винлокер. И нет, я его не скоммуниздил украл у кого-то, а сам создавал его с нуля. И сегодня я научу вас его создавать. И да, если вы дисклеймер так и не прочитали, то ни в коем случае не используйте этот код во вред другим! Ну ладно, без лишних слов, погнали!

    gost, 12 Декабря 2020

    Комментарии (111)
  9. SQL / Говнокод #27158

    +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
    declare @NL table
     (ARTICLE_ID int primary key,
      M int,
      DS datetime,
      DD datetime,
      RAS money,
      REST money,
      NWS money,
      NWA money,
      LD_AMOUNT money,
      LD_DATE datetime,
      IS_NL bit,
      SCC_ID int,
      IS_NOT_MARKDOWN bit)

    Double Side,Single Density / Double Side, Double Density — это понятно. Но почему datetime?

    tucvbif, 09 Декабря 2020

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

    +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
    //Попробуйте программно смоделировать разговор людей.Всего есть 10 людей.Каждый человек имеет имя(строку) и возраст(число).
    //Возраст каждого человека генерируется рандомно из диапазона от 20 до 40, а имена состоят из следующего списка: 
    //Александр, Андрей, Анастасия, Ирина, Наталья, Павел, Роман, Светлана, Сергей, Татьяна.
    //Любой человек способен выполнять два действия :
    //-здороваться с другим человеком;
    //-рассказывать о себе.
    //Люди делятся на 3 типа(разные классы) :
    //    Тип №1 : Формалисты.Здороваются со всеми следующим образом : Здравствуйте, <имя>!, где <имя> — это имя человека, с которым он здоровается.
    //    Тип №2 : Неформалы.Со всеми здороваются : Привет, <имя>!.
    //    Тип №3 : Реалисты.Если возраст собеседника меньше / равен или не больше, чем на 5 лет, то здороваются следующим образом : Привет, <имя>!, в противном случае — Здравствуйте, <имя>!.
    //    В программной реализации приветствие должно быть реализовано как полиморфный метод, принимающий человека в качестве параметра и возвращающий строку.
    //    Рассказ о человеке является строкой формата "Меня зовут Вася, мой возраст 21 лет и я неформал" (вместо Вася используется имя любого другого человека, 
    //    вместо 21 возраст этого человека, вместо неформал может быть формалист, либо реалист).Как видите у людей с грамматикой не всё в порядке, 
    //    и они говорят лет после любого числа — непорядок, это нужно обязательно исправить.
    //    Программа должна показать информацию обо всех людях.Затем все люди должны поздороваться друг с другом в следующем порядке : 
    //    первый здоровается со вторым, затем второй с первым, а затем первый с третьим, третий с первым и т.д.Например :
    //    Петя : Привет, Вася!
    //    Вася : Здравствуйте, Петя!
    //    Петя : Привет, Женя!
    //    Женя : Привет, Петя!
    
    
    unique_ptr<Person>& createPerson()
    {
        switch (getRandomNumber(0, 2))
        {
        case 0:
            {
            unique_ptr<Person> person = make_unique<Formalist>(RANDNAME_0_10, RANDAGE_20_40);
            return person; 
            }
        case 1:
            {
            unique_ptr<Person> person = make_unique<Neformal>(RANDNAME_0_10, RANDAGE_20_40);
            return person;
            }
        case 2:
            {
            unique_ptr<Person> person = make_unique<Realist>(RANDNAME_0_10, RANDAGE_20_40);
            return person;
            }
        default:
            {
            unique_ptr<Person> person = nullptr;
            return person;
            }
        };
    }
    
    void createGroup(vector<unique_ptr<Person>>& group, int8_t size)
    {
        unique_ptr<Person> tempPerson = nullptr;
        for (int i = 0; i < size; ++i)
        {
            tempPerson = std::move(createPerson());
            group.push_back(tempPerson);
        }
    }

    Не могу понять как инициализировать массив в createGroup() через unique_pointers. Нужно ли было изначально возвращать shared pointers из createPerson()? Или использовать перемещения с unique_pointers? И куда по правильному впихивать using namespace std; если не в global scope? Спасибо заранее

    Полный код
    https://repl.it/@radionnazmiev/Ravesli#Ravesli_12_H/main.cpp

    radionnazmiev, 06 Декабря 2020

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

    +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
    98. 98
    99. 99
    <?php
     
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
     
    session_start();
     
    $mysqli = new mysqli('localhost', 'root', 'root', 'id15267461_base3');
     
    if (mysqli_connect_errno()) {
        echo "Подключение невозможно: " . mysqli_connect_error();
        die();
    }
     
    if (!empty($_POST)) {
        if (isset($_GET['del'])) {
            $id = $_POST['id'];
     
            $stmt = $mysqli->prepare("DELETE FROM `stars` WHERE id=?");
            $stmt->bind_param('i', $id);
            $stmt->execute();
     
            header('Location: /note.php');
            die();
        }
     
        if (isset($_GET['otz'])) {
            $name = $_POST['name'];
            $text = $_POST['message'];
     
            $stmt = $mysqli->prepare("INSERT INTO `stars` VALUES (NULL, ?, ?)");
            $stmt->bind_param('ss', $name, $text);
            $stmt->execute();
     
            header('Location: /note.php');
            die();
        }
    }
     
     
    $reviews = [];
    $res = $mysqli->query("SELECT * FROM `stars`");
    while($row = mysqli_fetch_array($res)) {
        $reviews[] = $row;
    }
     
     
    $isAdmin = $_SESSION['admin'] == true;
    $isGuest = empty($_SESSION['name']);
     
    ?>
     
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css">
        <link href="https://fonts.googleapis.com/css?family=Oswald" rel="stylesheet" text="text/css">
        <link href="https://fonts.googleapis.com/css?family=Julius+Sans+One" rel="stylesheet" text="text/css">
        <title>Отзывы</title>
        <link rel="stylesheet" type="text/css" href="style.css?<?= time(); ?>">
    </head>
    <body>
     
    <div id="main">
        <p>ОТЗЫВЫ</p>
        <h2>РЕСТОРАН</h2>
        <h1>КОЛЕСО</h1>
    </div>
     
    <div class="menu" id="regularmenu">
        <ul>
            <a href="index.php"><li>ГЛАВНАЯ</li></a>
            <a href="menu/salads-and-appetizers.php"><li>МЕНЮ</li></a>
            <a href="contact.php"><li>КОНТАКТЫ</li></a>
            <a href="news.php"><li>НОВОСТИ</li></a>
            <a href="note.php"><li>ОТЗЫВЫ</li></a>
            <a href="reges.php"><li>ЛИЧНЫЙ КАБИНЕТ</li></a>
            <a href="booking.php"><li>ЗАБРОНИРОВАТЬ СТОЛИК</li></a>
        </ul>
    </div>
     
    <div id="news">
        <?php foreach ($reviews as $review): ?>
            <div class="news-card">
                <h3><strong> <?= $review['Fio'] ?></strong></h3>
                <p>
                    <?= $review['inf'] ?>
                </p>
                <?php if ($isAdmin) : ?>
                    <form id="note-form" method="post" action="?del">
                        <input type="hidden" name="id" value="<?= $review['id'] ?>">
                        <button type="submit">Удалить отзыв</button>
                    </form>
                <?php endif; ?>
            </div>
        <?php endforeach ?>

    Говнокодеры с киберфорума.
    Как обычно = Проебали 10 летний опыт с накрученными постами.

    Ссылка на пост: https://www.cyberforum.ru/php-beginners/thread2743655.html#post15065275

    Внизу темы аргументы.

    MouseZver, 05 Декабря 2020

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