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

    +144

    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
    #include <iostream>
    using namespace std;
    void f(double *x1,double *x2,double *x3)
    {
    	if (((*x1>*x2)&&(*x1<*x3))||((*x1<*x2)&&(*x1>*x3)))
    		*x1=(*x2+*x3)/2;
    	if (((*x2>*x1)&&(*x2<*x3))||((*x2<*x1)&&(*x2>*x3)))
    		*x2=(*x1+*x3)/2;
    	if (((*x3>*x1)&&(*x3<*x2))||((*x3<*x1)&&(*x3>*x2)))
    		*x3=(*x2+*x1)/2;
    }
    int main()
    {
    	double x1,x2,x3;
    	cin>>x1>>x2>>x3;
    	double *y1=&x1;
    	double *y2=&x2;
    	double *y3=&x3;
    	f(y1,y2,y3);
    	cout<<x1<<' '<<x2<<' '<<x3;
    	return 0;
    }

    Креатив.

    Irdis, 06 Сентября 2010

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

    +156

    1. 1
    2. 2
    std::pair<std::vector<char>::const_iterator, unsigned int> parsedUnit = Utils::PackedUIntHelper::Unpack<unsigned char>(it);
    parsedUnit = Utils::PackedUIntHelper::Unpack<unsigned char>(parsedUnit.first);

    Представления потока данных итератором и чтение числа.

    enikey, 03 Сентября 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ( p->m_p ) 
    {
          m_p = p->m_p;
    }
    else 
    {
          m_p = NULL;
    }

    Мля, ну а вдруг

    J0hnny, 02 Сентября 2010

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

    +151

    1. 1
    typedef std::basic_string<unsigned short> wstring;

    вот, надыбал в одном из подпроектов большого проекта.

    DarthBobr, 31 Августа 2010

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

    +144

    1. 1
    2. 2
    int i = 1;
    int j = i++ + ++i;

    Инкремент-экскремент, чтобы враг не догадался, 3 или 4 это выражение возвращает.

    bugmenot, 31 Августа 2010

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

    +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
    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
    class Cmd
    {
    private:  /* ... */
    protected: /* ... */
    public:
    	virtual void Assign(Cmd *Source) {}
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class UARTCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	TypeCommand TypeCmd;
    public:
    	virtual void Assign(Cmd *Source) { /* .1. */ }
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class TRANSITCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	byte FID;
    
    	unsigned short FNumb;
    public:
    	virtual void Assign(Cmd *Source) { /* .2. */ /* .3. */ }
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class ASKCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	byte FID;
    
    	byte FidFrom;
    	byte FTimeR;
    	unsigned short FSID;
    public:
    	virtual void Assign(Cmd *Source) { /* .2. */ /* .4. */ }
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class RESPCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	byte FID;
    
    	byte FidFrom;
    	byte FTimeR;
    	unsigned short FSID;
    
    	byte FidResp;
    	unsigned short FCRCResp;
    public:
    	virtual void Assign(Cmd *Source) { /* .2. */ /* .4. */ /* .5. */ }
    	/* ... */
    };

    Сие чудо я должен реализовывать! Так сказать, привести в порядок код.

    P.S. Первоначальный вариант выглядит в разы лучше.
    P.P.S. /* .1. */ - обозначает часть кода

    sanchousf, 30 Августа 2010

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    TCHAR szPort[7];
    
    	strcpy(m_szAddress,szAddress);
        
        // INITIALIZE RETURN VALUE TO INDICATE COM PORT NOT INITIALIZED 	
    	bool bRetVal = false;
    	
    	switch( byCOMPort )
    	{
    	case 1:
    		_tcscpy(szPort,_T("COM1:"));
    		break;
    	case 2:
    		_tcscpy(szPort,_T("COM2:"));
    		break;
    	case 3:
    		_tcscpy(szPort,_T("COM3:"));
    		break;
    	case 4:
    		_tcscpy(szPort,_T("COM4:"));
    		break;
    	}

    Вот так гибко можно отрывать любой из четырёх COM портов.

    slavap, 30 Августа 2010

    Комментарии (11)
  8. 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)
  9. 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)
  10. 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)