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

    +154

    1. 1
    2. 2
    3. 3
    const inline unsigned char convert(const char c1, const char c2) const {
    	return ((c1 > '9' ? c1 - 'A' + 10 : c1 - '0') << 4) + ((c2 > '9' ? c2 - 'A' + 10 : c2 - '0') & 0xF);
    }

    Anonimous, 01 Февраля 2012

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

    +1006

    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
    int main()
    {
        // инициализация графики
        ...
        
        while (!kbhit())
        {
            int start = rand();
            srand(start);
            
            // рисуем фейерверк
            for (int i = 0; i < 100; i++)
            {
                int x = rand();
                int y = rand();
                int color = rand();
                
                putPixel(x, y, color);
            }
            
            sleep(100);
            
            // стираем
            srand(start);
            
            for (int i = 0; i < 100; i++)
            {
                int x = rand();
                int y = rand();
                rand();
                
                if (getPixelColor(x, y) != BLACK)
                    putPixel(x, y, BLACK);
            }
        }
        
        return 0;
    }

    Вот такой пример использования графической библиотеки нам давали в институте. (Набирал по памяти т.к. я решил это с доски не переписывать.)

    vovams, 31 Января 2012

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

    +1012

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void Transponse()                                       // Транспонировать матрицу
       {
          m12 = m21; m13 = m31; m14 = m41;
          m21 = m12; m23 = m32; m24 = m42;
          m31 = m13; m32 = m23; m34 = m43;
          m41 = m14; m42 = m24; m43 = m34;
       }

    Artur, 31 Января 2012

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

    +153

    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
    // static_lit.h
    #ifndef __STATIC_LIT__
    #define __STATIC_LIT__
    
    namespace
    { 
      namespace Toast
      { 
        namespace Detail
        {  
          template<int UNIT_LOCAL_UID> 
          struct TUnitUniqueId
          { 
              static int sGloballyUniqueVar; 
          }; 
     
          template<int UNIT_LOCAL_UID> 
          int TUnitUniqueId<UNIT_LOCAL_UID>::sGloballyUniqueVar = 0;
        } 
      } 
    } 
     
    #define GEN_UID_IMPL(line) &Toast::Detail::TUnitUniqueId<line>::sGloballyUniqueVar
    //#define GEN_UID GEN_UID_IMPL(__LINE__)
    #define GEN_UID GEN_UID_IMPL(__COUNTER__)
    // В оригинале тут было __LINE__, однако в $тудии, сконфигурированной
    // под билд в неком специфическом сдк, __LINE__ почему-то не опознавалось
    // в качестве константы и не принималось в шаблон. Пришлось заменить её
    // на менее портабельный, но работоспособный и, кстати, более уместный
    // в этом качестве __COUNTER__.
    
    template<class T,int* UID> 
    struct StaticLit
    {
      static T &Get (const char *str)
      {
        static T instance (str); // простейший случай для примера,
        // вы без труда адаптируете его к использованию синглтонов
        // и прочих премудростей
        return instance;
      }
    };
      
    #define SLTR_IMPL2(T,unique_id) StaticLit<T,unique_id>
    #define SLTR_IMPL(T) SLTR_IMPL2(T,GEN_UID)
    
    #define SLTR(T,str) (SLTR_IMPL(T)::Get (str))
    
    #endif // __STATIC_LIT__

    Настоящий Статический Литерал на С++
    http://www.gamedev.ru/flame/forum/?id=158006
    извените за игрострой

    TarasB, 31 Января 2012

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

    +1000

    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
    if(m_numberColors>1)
    	{
    		m_colorComboColor2.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor2.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>2)
    	{
    		m_colorComboColor3.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor3.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>3)
    	{
    		m_colorComboColor4.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor4.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>4)
    	{
    		m_colorComboColor5.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor5.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>5)
    	{
    		m_colorComboColor6.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor6.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>6)
    	{
    		m_colorComboColor7.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor7.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>7)
    	{
    		m_colorComboColor8.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor8.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>8)
    	{
    		m_colorComboColor9.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor9.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>9)
    	{
    		m_colorComboColor10.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor10.ShowWindow(SW_HIDE);
    	}

    Есть десять элементов!
    Нужно в зависимости от числа управлять видимостью.
    Страшно подумать если бы их было 1000!!!!

    alex_devel, 31 Января 2012

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

    +994

    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
    int GetLocaleImageIndexById(LCID LocaleID)
    {
    	CString Id = CPiCultureInfo::GetSpecific(LocaleID).GetISO3166Country().MakeLower();
    	if (Id == "ad") return 0;
    	if (Id == "ae") return 1;
    	if (Id == "af") return 2;
            .
            .
            .
            .
            .
    	if (Id == "zm") return 245;
    	if (Id == "zw") return 246;
    	return -1;
    }

    Слов нет

    alex_devel, 31 Января 2012

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

    +142

    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
    #include <iostream>
    
    using namespace std;
    
    int main()
    {   
        int i, n;
        cin >> n;
        int A[n];
        for(i = 0; i < n; i++)
            cin >> A[i];
        for(i = 0; i < n - 1; i++)
            swap (A[i], A [n - i + 1]); 
        for(i = 0; i < n; i++)
            cout << A[i] << " "; 
        return 0;
    }

    Помогите! Должен выводить числа массива в обратном порядкеБ а он не выводит!

    Smirnov_Alex, 30 Января 2012

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

    +994

    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
    template< typename _Data >
    void 
    Foo< _Data >::deduceNumberOfSignificant( _Data _field )
    {
    	switch( sizeof( _Data ) )
    	{
    	case sizeof( field32 ):
    		m_significantNumber = 7;
    		break;
    	case sizeof( field64 ):
    		m_significantNumber = 16;
    		break;
    	case sizeof( field128 ):
    		m_significantNumber = 34;
    		break;
    	default:
    		BOOST_ASSERT( "Improper field size" );
    	}
    }

    kiry, 30 Января 2012

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

    +159

    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
    //Перевод в 2/10 систему
    BOOL
    CChannel::DecTo2Dec(UCHAR Dec,
    					CHAR *Dec2)
    {
    	TCHAR digitstring[10] = {0};
    	INT	Hi = 0;
    	INT	Lo = 0;
    
    	_stprintf_s(digitstring,TEXT("%d"),Dec);
    	INT digitstringLen = _tcslen(digitstring);
    	Lo = _ttoi(digitstring + 1);
    	*(digitstring + 1) = 0;
    	Hi = _ttoi(digitstring);
    	
    	if(digitstringLen>1)
    	{
    		*Dec2 = Lo + Hi * 0x10;
    	}
    	else
    		*Dec2 = Hi;
    	return TRUE;
    }

    Перевод в BCD через строку!

    azote, 27 Января 2012

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

    +1000

    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
    class set_ftp: public QObject
    {
    public:
        typedef class impl_set_ftp: QObject
        {
            QString url     ;
            QString login   ;
            QString password;
            QString siis    ;
            QString ssm     ;
            QString ssl     ;
            QString url_siis;
            QString url_ssm ;
            QString url_ssl ;
    
            friend class set_ftp;
            impl_set_ftp(QObject* p): QObject(p) {}
        } Impl;
    
        inline QString& url     () const {return impl->url     ;}
        inline QString& login   () const {return impl->login   ;}
        inline QString& password() const {return impl->password;}
        inline QString& siis    () const {return impl->siis    ;}
        inline QString& ssm     () const {return impl->ssm     ;}
        inline QString& ssl     () const {return impl->ssl     ;}
        inline QString& url_siis() const {return impl->url_siis;}
        inline QString& url_ssm () const {return impl->url_ssm ;}
        inline QString& url_ssl () const {return impl->url_ssl ;}
    
        inline void set_url     (const QString& _url     ) {impl->url      = _url     ;}
        inline void set_login   (const QString& _login   ) {impl->login    = _login   ;}
        inline void set_password(const QString& _password) {impl->password = _password;}
        inline void set_siis    (const QString& _siis    ) {impl->siis     = _siis    ;}
        inline void set_ssm     (const QString& _ssm     ) {impl->ssm      = _ssm     ;}
        inline void set_ssl     (const QString& _ssl     ) {impl->ssl      = _ssl     ;}
        inline void set_url_siis(const QString& _url_siis) {impl->url_siis = _url_siis;}
        inline void set_url_ssm (const QString& _url_ssm ) {impl->url_ssm  = _url_ssm ;}
        inline void set_url_ssl (const QString& _url_ssl ) {impl->url_ssl  = _url_ssl ;}
    
        set_ftp()          : QObject(0), impl(new Impl(this)) {}
        set_ftp(QObject* p): QObject(p), impl(new Impl(this)) {}
    private:
        Impl* impl;
    };

    Код написанный человеком, считающим себя "гуру разработки программирования", а так же "активным научным деятелем".
    Главная мысль глядя на это у меня - охренное тестовое задание с вопросом - укажите абсолютно все бредни в этом коде, но разумеется в более нормальной формулировке... а чО - неплохой тест...
    з.ы. этот же человек никогда не пишет cpp файлы все в хедерах собачит....

    LuCiFer, 27 Января 2012

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