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

    Всего: 35

  2. Куча / Говнокод #8512

    +125

    1. 1
    ++[>+++++[>++++++<-]<-]++[>+++++<-]>>+++<<+[[,----------]>>.<.<+]

    ed на brainfuck'е

    rat4, 13 Ноября 2011

    Комментарии (86)
  3. Java / Говнокод #8387

    +75

    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
    private enum UpdateToken {
        W, A, F, D, H;
    
        private static final Pattern PATTERN = compilePattern(UpdateToken.class);
    }
    
    private static Pattern compilePattern(Class<? extends Enum> clazz) {
        StringBuilder builder = new StringBuilder("(");
        for (Enum enumConstant : clazz.getEnumConstants()) {
            if (enumConstant.ordinal() > 0) {
                builder.append("|");
            }
            builder.append(enumConstant.name());
        }
        builder.append(")");
        return Pattern.compile(builder.toString());
    }
    
    //и это добро вот так используется:
    
        if (!UpdateToken.PATTERN.matcher(token).matches()) {
            continue;
        }
        UpdateToken setupToken = UpdateToken.valueOf(token);

    https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/java/AbstractSystemInputParser.java

    rat4, 01 Ноября 2011

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

    +1002

    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
    Нужно написать функцию, возводящую число в 10 степень.
    
    Но почему, мой сотрудник обязательно напишет
    double func (double a) {
    return a * a * a * a * a * a * a * a * a * a;
    }
    ??????
    
    А когда понадобится 11 степень, он сделает так:
    double func (double a, bool is11 = false) {
    if (is11 == true)
    return a * a * a * a * a * a * a * a * a * a * a;
    return a * a * a * a * a * a * a * a * a * a;
    }
    
    А когда появится 12 степень, знаете что произойдет?
    double func (double a, int stepen = 0) {
    switch (stepen) {
    case 0: return a * a * a * a * a * a * a * a * a * a; break;
    case 1: return a * a * a * a * a * a * a * a * a * a * a; break;
    case 2: return a * a * a * a * a * a * a * a * a * a * a; break;
    }
    return 0;
    }

    Источник: http://ibash.org.ru/quote.php?id=14755

    rat4, 27 Октября 2011

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

    +119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    class Greeter {
      static var prefix = 'Hello,';
    
      static greet(name) {
        print('$prefix $name');
      }
    }
    
    main() {
      var greeter = new Greeter();
      greeter.greet("govnokod!");
    }

    Решил потыкать в Dart (http://www.dartlang.org/), а он мне:
    greeter.greet$named is not a function

    rat4, 10 Октября 2011

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

    +171

    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
    char *f(char *s1, ...)
    { char **cp = &s1;            //--адрес первого указателя
       int len = 0;        
       // цикл для определения общей длины сцепляемых строк
       while (*cp) { len += strlen(*cp); cp++; }                          
      char *s = new char[len+1];       //--память для строки
      s[0]=0;                       //-- "очищаем" строку
    // цикл для сцепления строк
      cp=&s1;                       //-- опять установка на 1-й параметр
      while (*cp) 
      {  strcat(s, *cp);             //-- прицепляем первую (и следующие)
         cp++;                       //-- перемещаемся на следующую
      }         
      return s;
    }

    Сцепление строк (ноль в конце)
    http://www.rsdn.ru/forum/cpp/418970.1.aspx

    rat4, 14 Сентября 2011

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

    +170

    1. 1
    [](){}();

    Поздравляю с новым стандартом, товарищи!

    rat4, 14 Августа 2011

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

    +167

    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
    #include <windows.h>
    
    
    
    
    
    struct io
    {
        io()
        {
            SetConsoleTitle(__FUNCSIG__);
        }
        ~io()
        {
            DebugBreak();
        }
    } io_obj;
    
    
    
    
    int main()
    {
    }
    
    typedef void(fn_t)();
    
    #pragma comment(linker, "/merge:.CRT=.rdata")
    
    #pragma data_seg(".CRT$XCA")
    extern "C" fn_t * start[] = {0};
    #pragma data_seg(".CRT$XCZ")
    extern "C" fn_t * finish[] = {0};
    #pragma data_seg()
    
    void call_dtors();
    
    extern "C" void _initterm()
    {
        fn_t **p = start, **q = finish;
        while (p < q)
        {
            if (*p)
                (*p)();
            ++p;
        }
        main();
        call_dtors();
    }
    
    fn_t * dtors[999];
    int c_dtors;
    
    void call_dtors()
    {
        while (c_dtors--)
            dtors[c_dtors]();
    }
    
    extern "C" int atexit(void (__cdecl *func )( void ))
    {
        dtors[c_dtors++] = func;
        return !"unspecified";
    }

    если клепаем что то без CRT и хотим чтоб вызывались
    конструкторы деструкторы статических объектов и хотим свое то
    вот реализация для тех кто этого еще неделал
    https://wasm.ru/forum/viewtopic.php?pid=428250#p428250

    rat4, 17 Апреля 2011

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

    +168

    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
    #include <iostream>
    using namespace std;
    void main()
    {
        char U='#';
    int K;
        _asm
        {
            mov eax, 0
            mov al, U
            mov K,eax
        }
        cout<<K<<endl;
    }

    "Получение десятичного представления числа". C wasm.ru

    rat4, 18 Марта 2011

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

    +164

    1. 1
    min=(pSamplesVector->operator[](i)).x;

    rat4, 04 Февраля 2011

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

    +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
    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
        double i = 9;
        i = fabs( i/2 );
        while ( --i > 0 );
        printf("\n %f \n", i);
        if ( i == 0 )
            printf ("1\n");
        else if ( i == -0.5 )
            printf ("2\n");
        else
            printf ("3\n");
    }

    "Как определить четность числа типа real (т.е., нецелочисленный тип), без приведения к целому типу и использования остатка целочисленного деления?" Поржав над вопросом, выдавил из себя такое

    rat4, 27 Января 2011

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