1. C++ / Говнокод #4124

    +177

    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
    namespace markup 
    {
        // case sensitive string equality test
        // s_lowcase shall be lowercase string
        inline bool equal(const char* s, const char* s1, size_t length)
        {
          switch(length)
          {
            case 8: if(s1[7] != s[7]) return false;
            case 7: if(s1[6] != s[6]) return false;
            case 6: if(s1[5] != s[5]) return false;
            case 5: if(s1[4] != s[4]) return false;
            case 4: if(s1[3] != s[3]) return false;
            case 3: if(s1[2] != s[2]) return false;
            case 2: if(s1[1] != s[1]) return false;
            case 1: if(s1[0] != s[0]) return false;
            case 0: return true;
            default: return strncmp(s,s1,length) == 0;
          }
        }
    ...

    rat4, 29 Августа 2010

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

    +164

    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
    void load(char *file)
    	{
    		reader = fopen((const char*)file, "r+b");
    		if(reader)
    		{
    			byte *b = (byte*)malloc(sizeof(byte));
    			fread(b, sizeof(byte), 1, reader);
    			if(b == 0x0)
    			{
    				int *wh_val = (int*)malloc(sizeof(int) * 2);
    				fread(wh_val, sizeof(int), 2, reader);
    				width = *wh_val;
    				height = *(wh_val + 1);
    				pixels = (Color**)malloc(sizeof(Color*) * width);
    				for (int i = 0; i < width; ++i)
    				{
    					*(pixels + i) = (Color*)malloc(sizeof(Color) * height);
    					for (int j = 0; j < height; ++j)
    					{
    						byte *rgb = (byte*)malloc(sizeof(byte) * 3);
    						fread(rgb, sizeof(byte), 3, reader);
    						Color c = Color(0);
    						c.red = *(rgb) / 255.0;
    						c.green = *(rgb + 1) / 255.0;
    						c.blue = *(rgb + 2) / 255.0;
    						*(*(pixels + i) + j) = c;
    					}
    				}
    			}
    		}
    	}

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

    psina-from-ua, 28 Августа 2010

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

    +158

    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
    const char* def = "DEFINE";
    while(*def && (m_position != m_end) && (*m_position == charT(*def)))
      ++m_position, ++def;
    if((m_position == m_end) || *def)
    {
      // Rewind to start of (? sequence:
      --m_position;
      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
      fail(regex_constants::error_perl_extension, m_position - m_base);
      return false;
    }
    re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));
    br->index = 9999; // special magic value!
    if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)
    {
      // Rewind to start of (? sequence:
      --m_position;
      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
      fail(regex_constants::error_perl_extension, m_position - m_base);
      return false;
    }

    Фрагмент из boost::regex, "magic value!", улыбнуло =]
    basic_regex_parser.hpp : 2160

    rudvil, 28 Августа 2010

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

    +148

    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
    struct _elem
    {
        int x, y, z, num;
        bool r;
        long long square;
        void read(int i)
        {
            cin >> x >> y >> z;
            num = i;
            square = 0;
        }
    
        friend bool operator<(_elem a, _elem b)
        {
            if ( a.z == b.z)
            {
                return a.r == true;
            }
            else
            {
                return a.z < b.z;
            }
        }
    };
    
    _elem mas[500000];
    bool vis[500000];
    int main()
    {
        int N, W, L;
        cin >> N >> W >> L;
    
        for ( int i = 0; i < N; i++)
        {
            mas[i].read(i);
            mas[i].r = false;
            mas[i + N].read(i);
            mas[i + N].r = true;
            mas[i].square = mas[i + N].square = abs(mas[i].x - mas[i + N].x) * abs(mas[i].y - mas[i + N].y);
            vis[i] = vis[i + N] = false;
        }
    
        sort(mas, mas + 2 * N);
    
        long long square = 0;
        int count = 0;
        int min = -1;
        for ( int i = 0; i < 2 * N; i++)
        {
            if ( mas[i].r == false)
            {
                square += mas[i].square;
                count++;
            }
            else
            {
                square -= mas[i].square;
                count--;
            }
            if ( square == W * L)
            {
                if (min == -1 || count < min)
                {
                    min = count;
                }
            }
        }
       
        if ( min == -1)
        {
            cout << "NO" << endl;
        }
        else
        {
            cout << "YES" << endl;
            count = 0;
            square = 0;
            int i = 0;
            while (count != min || square != W * L)
            {
                if ( mas[i].r == false)
                {
                    square += mas[i].square;
                    count++;
                    vis[mas[i].num] = true;
                }
                else
                {
                    square -= mas[i].square;
                    count--;
                    vis[mas[i].num] = false;
                }
                i++;
            }
            cout << min << endl;
            }
         }
    }

    hromjo, 28 Августа 2010

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

    +144

    1. 1
    2. 2
    3. 3
    int main(){
    func(z(c(v(b(n(m(a(s(d(f(g())))))))))));\\и так далее
    }

    Это не совсем оригинал, но смысл тот же. Писал мой знакомый...
    m,z,c... это все функции, которые отдают значения.
    Конечно это лишь прикол, но логика рушится быстро...

    hromjo, 25 Августа 2010

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

    +169

    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
    int mr_word_compare(const char* r1, int s1, const char* r2, int s2)
    {
       char* p1 = (char*)r1;
       char* p2 = (char*)r2;
       while (*p1 != ' ')
          ++ p1;
       *p1 = '\0';
       while (*p2 != ' ')
          ++ p2;
       *p2 = '\0';
    
       int res = strcmp(r1, r2);
       *p1 = ' ';
       *p2 = ' ';
    
       return res;
    }

    vayerx, 24 Августа 2010

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

    +155

    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
    int ValidMail(std::string Email)
    {
        sockaddr_in socketaddr;
        socketaddr.sin_family = AF_INET;
        socketaddr.sin_port = htons(80);
        socketaddr.sin_addr.s_addr = inet_addr("217.69.130.42");
        int sock = socket(AF_INET, SOCK_STREAM, 0);
        std::string set = "GET http://my.mail.ru/mail/"+ Email +" HTTP/1.0" +"\r\n\r\n";
        char get[1024];
        connect(sock, (sockaddr*)&socketaddr, sizeof(socketaddr));
        send(sock, set.c_str(), set.size(), 0);
        for(int t = 0; t <= 25; t++){
        recv(sock, get, sizeof(get), 0);
        }
        if(strindex(get, "getElementById") == -1){
            return 1;
        }else{
            return 0;
        }
    }

    Вот что недавно наговнокодил. Получаем страницу юзера на майл мире и проверяем, есть ли такой ваще xD

    hromjo, 21 Августа 2010

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

    +163

    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
    class A
    {
    public:
    	~A();
    };
    
    void A::!A()
    {
    	//destructor
    }
    
    int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR commandLine, int)
    {
    	A* a = new A();
    	delete a;
    
    	return 0;
    }

    Компилируется и РАБОТАЕТ (заходит в этот "деструктор" при удалении объекта) под Visual C++ 2008.
    Перестаёт компилироваться после любого малейшего изменения (например, если убрать void перед реализацией "деструктора").
    КАК?!

    Kirinyale, 21 Августа 2010

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    до ревью:
    
    abcForm.Controls.FindControl<AbcDateControl>("MyDate").SetValue(DateTime.Parse(DateTime.Now.AddDays(1).ToString()));
    
    после
    
    abcForm.Controls.FindControl<AbcDateControl>("MyDate").SetValue(new DateTime(DateTime.Now.AddDays(1).ToString()));

    Всегда думал, что ревью улучшает код... Похоже народ хотел сделать вот это:

    abcForm.MyDate.SetValue(DateTime.Now.Add Days(1));

    :)

    pdk, 18 Августа 2010

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

    +161

    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
    float size = xLabelItemHeight + xLabelItem2Height + xLabelItem3Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
    if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    {
    	size = xLabelItemHeight + xLabelItem2Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
    	if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    	{
    		size = xLabelItemHeight + xLabelItem2Height + xTickItem_->tickSize() + tickGap();
    		if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    		{
    			size = xLabelItemHeight + xTickItem_->tickSize() + tickGap();
    			if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    			{
    // а дальше ничего не важно.

    Ну что, мои находки всё так же унылы?

    Altravert, 18 Августа 2010

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