1. Список говнокодов пользователя 666_N33D135

    Всего: 21

  2. Си / Говнокод #25188

    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
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    enum {
        HOST = INADDR_LOOPBACK,
        PORT = 6666,
        MAX_BUF = 1024
    };
    
    struct sock {
        int sockfd;
        int addrlen;
        struct sockaddr_in addr;
    } host, client;
    
    int check(int x, char*msg)
    {
        if (!~x) {
            perror(msg);
            exit(1);
        }
        return x;
    }
    
    #define QUOTE_(...) #__VA_ARGS__
    #define QUOTE(...) QUOTE_(__VA_ARGS__)
    #define CHECK(...) check(__VA_ARGS__, QUOTE(line __LINE__: __VA_ARGS__))
    
    int main(int argc, char**argv)
    {
        struct sock host, client;
        host.sockfd = CHECK(socket(AF_INET, SOCK_STREAM, 0)),
        host.addr = (struct sockaddr_in){AF_INET, htons(PORT), htonl(HOST)};
        CHECK(bind(host.sockfd, &(struct sockaddr)host.addr, sizeof(host.addr)));
        CHECK(listen(host.sockfd, 1));
        CHECK(client.sockfd = accept(host.sockfd, (void*)&client.addr, &client.addrlen));
        printf("connected: %s\n", inet_ntoa(client.addr.sin_addr));
        
        struct {int len; char buf[MAX_BUF];} msg;
        while (CHECK(msg.len = recv(client.sockfd, msg.buf, MAX_BUF - 1, 0)) && msg.len) {
            msg.buf[msg.len] = 0;
            printf("%s", msg.buf);
            send(client.sockfd, msg.buf, msg.len, 0);
        }
        close(client.sockfd);
        close(host.sockfd);
        return 0;
    }

    Почему если закоментить 36-ю строчку адрес килента 0.0.0.0?

    666_N33D135, 13 Декабря 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    def enum(x):
        globals().update(map(reversed, enumerate(x.split())))
    
    enum("""
        ONE
        TWO
        THREE
        FORTH
    """)

    Forth влияет...

    666_N33D135, 12 Декабря 2018

    Комментарии (26)
  4. Си / Говнокод #25076

    +1

    1. 1
    m[7500];char*c=m+3750;char*main(int k,char**a,char*s){return!a?~k?k&&*s?main(k+(*s==91)-(*s==93),0,s+1):s:(*(c+=(*s==62)-(*s==60))+=(*s==43)-(*s==45),*s==44?*c=getchar():*s-46||putchar(*c),*s-93?*s-91?0:!*c?s=main(1,0,s+1)-1:main(-1,0,1+s--),1[s]&&main(-1,0,s+1):0):main(-1,0,1[a]);}

    ...Пройдя долиной ошибок и ворнингов,
    Не убоюсь я ошибок сегментации...

    666_N33D135, 10 Ноября 2018

    Комментарии (29)
  5. Си / Говнокод #25064

    +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
    #inclidr  <stdio.h>
    
    iny maon (vkid) {
        staric char nif[267];
        
        ryoeded cous prox(boid);
        
        whike (!fief(stdim)) {
            printd(">> ");
            peix *f = fgeys(vif, 156, dtdib);
            f();
        }
        returb 0;
    }

    666_N33D135, 08 Ноября 2018

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #include <stdio.h>
    #include <math.h>
    char s[6];
    main(){
    	puts(gets(s)[2]==45&8u>*s-65&8u>s[1]-49&8u>s[3]-65&8u>s[4]-49?abs((*s-s[3])*(s[1]-s[4]))-2?"NO":"YES":"ERROR");
    }

    666_N33D135, 01 Октября 2018

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

    −5

    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
    stack = []
    
    def stdout(x):
        if x == "puts":
            print(stack.pop())
        else:
            raise Exception("иди нахуй")
    
    def stdin(x):
        global stack
        if x == "gets":
            stack.append(input())
        else:
            raise Exception("иди нахуй")
    
    math = {
        "add": lambda: stack.append(float(stack.pop()) + float(stack.pop())),
        "sub": lambda: stack.append((-float(stack.pop())) + float(stack.pop())),
        "mul": lambda: stack.append(float(stack.pop()) * float(stack.pop())),
        "div": lambda: stack.append(1 / float(stack.pop()) * float(stack.pop())),
    }
    
    def stack_commands(x):
        global stack
        if x == "swap":
            stack[-1], stack[-2] = stack[-2:]
        elif x == "drop":
            stack.pop()
        elif x == "dup":
            stack.append(stack[-1])
        else:
            raise Exception("иди нахуй")
    
    string = {
        "concat": lambda: stack.append(str(stack.pop()) + str(stack.pop()))
    }
    
    commands = {
        "comment": lambda x: x,
        "push": lambda x: stack.append(x),
        "stdout": stdout,
        "stdin": stdin,
        "math": lambda x: print(math[x]()),
        "stack": stack_commands,
        "string": lambda x: string[x]()
    }
    
    def do(x):
        if '@' not in x:
            raise Exception(x + " is not email.")
        a, b = x.split('@')
        b = b.split('.')[0]
        commands[b](a)
    
    def eval(s):
        for i in s.lower().split():
            do(i)
    
    eval("""
    [email protected]
    
    [email protected] [email protected]
    [email protected]
    [email protected] [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected] [email protected] [email protected]
    """)

    666_N33D135, 25 Августа 2018

    Комментарии (42)
  8. Куча / Говнокод #24621

    −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
    Red [ needs: 'view ]
    
    empty: 4x4
    
    grid: random do [
        res: copy[]
        repeat i 15 [append res to string! i]
        res
    ]
    
    loop 15 [grid: next insert grid 't]
    
    grid: head grid
    
    loop 3 [grid: insert skip grid 8 'return]
    
    grid: head insert [empty-cell: base 50x50 silver ] head grid
    
    view head insert grid [
        title "15 game"
        backdrop silver
        style t: button 50x50 [
            tmp: face/offset
            i: tmp/y / face/size/y + 1
            j: tmp/x / face/size/x + 1
            if  (absolute empty/1 - i) + (absolute empty/2 - j) = 1 [
                face/offset: empty-cell/offset
                empty-cell/offset: tmp
                empty: as-pair i j
            ]
        ]
        across
    ]

    Пятнашки на RED.

    666_N33D135, 13 Августа 2018

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

    0

    1. 1
    2. 2
    Пятнахи на Mobile Basic für Android
    https://pastebin.com/wVyUdHx9

    Попробовал Mobile Basic for Android. Невкусно. Игрушечный язык, по сути дела.

    Минусы:
    - нельзя объявить именованную константу;
    - нельзя нарисовать картинку из файла средствами языка, и спрайтов нет (а в версии для J2ME они были, как помню);
    - гуёв тоже нет (в J2ME были);
    - рекурсивную функцию нельзя! (процедурину можно).

    Спасибо, я кончел.

    666_N33D135, 12 Августа 2018

    Комментарии (13)
  10. Куча / Говнокод #24587

    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
    f =:verb define
        if. y = 0 do.
            goto_l.
        end.
        echo 'Not null'
        goto_end.
    label_l.
        echo 'Null'
    label_end.
    )
    
    f 0
    f 1

    Мне кажется, что это назло Дейкстре.

    666_N33D135, 05 Августа 2018

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

    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
    #-*-coding:utf8;-*-
    
    combinators = {
       'I': lambda x: x if len(x) <= 1 else calc(x[1:]),
       'K': lambda x: x if len(x) <= 2 else calc((x[1],) + x[3:]),
       'W': lambda x: x if len(x) <= 2 else calc(x[1:3] + x[2:]),
       'S': lambda x: x if len(x) <= 3 else calc((x[1], x[3], (x[2], x[3])) + x[4:]),
       'B': lambda x: x if len(x) <= 3 else calc((x[1], (x[2], x[3])) + x[4:]),
       'C': lambda x: x if len(x) <= 3 else calc((x[1], x[3], x[2]) + x[4:]),
       'U': lambda x: x if len(x) <= 2 else calc((x[2], (x[1], x[1], x[2])) + x[3:]),
       'Y': lambda x: x if len(x) <= 1 else calc(('S',('K',('S','I','I')),('S',('S',('K','S'),'K'),('K',('S','I','I')))) + x[2:])
    }
    
    def calc(x):
        def f(x, top = False):
            if type(x) is not tuple or len(x) == 0:
                return x
            if top:
                while type(x[0]) is tuple:
                    x = x[0] + x[1:]
            else:
                if type(x[0]) is tuple:
                    return (calc(x[0]),) + f(x[1:])
            print(termrepr(x))
            input('Press Enter...')
            return combinators.get(x[0], lambda _: (x[0],) + f(x[1:]))(x)
    
        return f(x, True)
    
    def parse(s):
        def f(s, n):
            res = ()
            i = n
            while i < len(s):
                if s[i] == '(':
                    t, j = f(s, i + 1)
                    res += (t,)
                    i = j - 1
                elif s[i] == ')':
                    return (res, i + 1)
                else:
                    res += (s[i],)
                i += 1
            return (res, i)
            
        return f(s, 0)[0]
    
    def termrepr(x):
        if len(x) == 0:
            return ''
        if type(x[0]) is tuple:
            return '(' + termrepr(x[0]) + ')' + termrepr(x[1:])
        else:
            return x[0] + termrepr(x[1:])
    
    print('>> ', end = '')
    while True:
        print(termrepr(calc(parse(input()))))
        print('\n>> ', end = '')

    Я перепесал #24129:

    >> BUGURT
    BUGURT
    Press Enter...
    U(GU)RT
    Press Enter...
    R((GU)(GU)R)T
    Press Enter...
    GU(GU)R
    Press Enter...
    U(GU)R
    Press Enter...
    R((GU)(GU)R)
    Press Enter...
    GU(GU)R
    Press Enter...
    U(GU)R
    Press Enter...

    666_N33D135, 24 Июля 2018

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