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

    −13.1

    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
    void Example5 (Scoord_t* coord, double data [], int size)
    {
        int i = 0;
        while (i < size)
        {
            assert (0<= i && i < size);
            if              (i == 0)                {data [i] = 1;}
            if              (i == 1)                {data [i] = 2;}
            if              (i == 2)                {data [i] = 3;}
            if (i > 2 && i <=size/2) {data [i] = data [i - 3] + 6;}
            if        (i == size/ 2) {data [i] = data [i - 1] + 3;}
            if     (i == size/2 + 1) {data [i] = data [i - 1] - 1;}
            if     (i == size/2 + 2) {data [i] = data [i - 1] - 1;}
            if      (i > size/2 + 2) {data [i] = data [i - 3] - 6;}
            Print (data, i);
            i++;
        }
    }

    Просматривал свои старенькие функции... Не мог удержаться

    guest, 28 Мая 2009

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

    +32

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int edge(int x, int* peak){
    		int min = -1;
    		for (int i = 0; i < N; i++){
    			if (min == -1 && this->arr[x][i] != 0 && peak[i] != 1) min = i;
    			else if (this->arr[x][min] > this->arr[x][i] && this->arr[x][i] != 0 && peak[i] != 1)
    				min = i;
    		}
    		return min;
    	};

    мегафункция=)

    guest, 24 Мая 2009

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

    +33

    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
    if (f(x)<=f(y))
    
    {b=y;
    
    y=x;
    
    x=a+(Fi(N-k-3)/Fi(N-k-1))*(b-a);
    
    };
    
    
    
    if (f(x)>f(y))
    
    {a=x;
    
    x=y;
    
    y=a+(Fi(N-k-2)/Fi(N-k-1))*(b-a);
    
    };

    f(x) - имеет конкретное значение для конкретного x
    http://www.matmetod.ru/fibonacci_program

    guest, 22 Мая 2009

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

    +37

    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
    HWND m_hEdit=::GetWindow(this->m_hWnd,GW_CHILD);
    
      TCHAR ClassName[200];
      while(1&&m_hEdit)
      {
        ::GetClassName(m_hEdit,ClassName,200);
        if((ClassName[0]==_T('E')||ClassName[0]==_T('e'))&&(ClassName[1]==_T('D')||ClassName[1]==_T('d'))
          &&(ClassName[2]==_T('I')||ClassName[2]==_T('i'))&&(ClassName[3]==_T('T')||ClassName[3]==_T('t')))
          break;
    
        m_hEdit=::GetWindow(m_hEdit,GW_HWNDNEXT);
      }
      if (m_hEdit) m_edit.SubclassWindow(m_hEdit);

    Получение hWnd EditBox расположенного внутри ComboBox.

    guest, 22 Мая 2009

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

    +25.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for(i=0;i<n;i++){
    vector[i]=(a[i]+0.0)/(c[i]+0.0);
    }
    
    result=(extremum(vector,n));
    
    cout<<"Input data was:"<<endl<<endl;
    for (i=0; i < n; i++) {
    cout<<a[i]<<"	/	"<<c[i]<<"	|	"<<vector[i];
    cout<<endl;
    }

    guest, 21 Мая 2009

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

    +38

    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
    void PduBuffer::putLen_BER(size_t len)
    {
    	if(len <= 0x00ffff)
    	{
    		if(len <= 0x007f)
    		{
    			check_room(1);
    			*position++ = (uint1)len;
    		}
    		else if(len <= 0x00ff)
    		{
    			check_room(2);
    			*position++ = 0x81;
    			*position++ = (uint1)len;
    		}
    		else // 0x00ff < len <= 0x00ffff
    		{
    			check_room(3);
    			*position++ = 0x82;
    			*position++ = (uint1)(len >> 8);
    			*position++ = (uint1)len;
    		}
    	}
    	else //len > 0x00ffff
    	{
    		if(len <= 0x00ffffff)
    		{
    			check_room(4);
    			*position++ = 0x83;
    			*position++ = (uint1)(len >> 16);
    			*position++ = (uint1)(len >> 8);
    			*position++ = (uint1)len;
    		}
    		else if(len <= 0xffffffff)
    		{
    			check_room(5);
    			*position++ = 0x84;
    			*position++ = (uint1)(len >> 24);
    			*position++ = (uint1)(len >> 16);
    			*position++ = (uint1)(len >> 8);
    			*position++ = (uint1)len;
    		}
    		else
    			THROW_INTERNAL("BER length out of range [0, 2^32)");
    	}
    	frame_start = NULL;
    }

    Добавление байтов длины TLV-объекта в буфер.

    guest, 20 Мая 2009

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

    −18.9

    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
    ...
    function (int i=0, int j=0){
    if(i>j || j<=i)
    {return i;}else
    {return j;}
    }
    ...
    
    ...
    if ((naibolsee==max(i,j)) && (naibolsee!=max(j,i)))
    {i=max(i,j);}
    else
    {j=max(j,i);}
    ...

    это для квантовых компьютеров, не иначе

    guest, 18 Мая 2009

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

    −45.4

    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
    #ifdef WIN32
    
    typedef DWORD (*LPTHREAD_METHOD)(LPVOID pParam);
    
    // Структура параметров для статической функции.
    typedef struct STARTUP_PARAM
    {
       // MSVThread*        pClass;
        LPTHREAD_METHOD    pMethod;
        LPVOID            pParam;
    } *LPSTARTUP_PARAM;
      
    
        // Функция, которая создает новый поток.
        HANDLE    StartThread        (LPTHREAD_METHOD pMethod, LPVOID pParam=0, 
                                 LPDWORD pdwThreadID = NULL, 
                                 LPSECURITY_ATTRIBUTES pSecurity = NULL , 
                                 DWORD dwStackSize = 0 , 
                                 DWORD dwFlags = 0);
    
        // Статическая функция, которая запустит метод.
        static  DWORD StartFunc    (LPSTARTUP_PARAM pStartup);
    
    
    
    
    HANDLE StartThread(LPTHREAD_METHOD pMethod, LPVOID pParam, 
                                 LPDWORD pdwThreadID /* = NULL */, 
                                 LPSECURITY_ATTRIBUTES pSecurity /* = NULL */, 
                                 DWORD dwStackSize /* = 0 */, 
                                 DWORD dwFlags /* = 0 */)
    {
        // Создаем структуру и упаковываем данные для статической функции.
        LPSTARTUP_PARAM pStartup = new STARTUP_PARAM;
        pStartup->pMethod    = pMethod;
        pStartup->pParam    = pParam;
    
        // Создаем новый поток.
        return CreateThread(pSecurity, dwStackSize, (LPTHREAD_START_ROUTINE)StartFunc, pStartup, dwFlags, pdwThreadID);
    }
    
    // В новом потоке вначале вызывается функция CMyClass::StartFunc(...)
    // А она запускает наш метод.
    
    DWORD StartFunc(LPSTARTUP_PARAM pStartup)
    {
        // Распаковываем данные в новом потоке.
        // Получаем указатель на класс и на метод класса.
        LPTHREAD_METHOD pMethod = pStartup->pMethod;
        LPVOID pParam            = pStartup->pParam;
    
        // Запускаем метод класса в новом потоке.
        DWORD dwResult = (*pMethod)(pParam);
    
        // Удаляем временные данные и возвращаем код возврата из нового потока.
        delete pStartup;
        return dwResult;
    }
    
    #else
    
    #include "pthread.h"
    
    typedef DWORD (*LPTHREAD_METHOD)(LPVOID pParam);
    
    // Структура параметров для статической функции.
    typedef struct STARTUP_PARAM
    {
        LPTHREAD_METHOD    pMethod;
        LPVOID            pParam;
    } *LPSTARTUP_PARAM;
      
        // Статическая функция, которая запустит метод.
        static  DWORD StartFunc    (LPSTARTUP_PARAM pStartup);
    
        // Функция, которая создает новый поток.
    HANDLE StartThread(LPTHREAD_METHOD pMethod, LPVOID pParam=0, 
                                 LPDWORD pdwThreadID=0 /* = NULL */, 
                              //   LPSECURITY_ATTRIBUTES pSecurity /* = NULL */, 
                              //   DWORD dwStackSize /* = 0 */, 
                                 const pthread_attr_t* dwFlags=0 /* = 0 */)
    {
        // Создаем новый поток.
    	pthread_t restrict;
    	if(pthread_create(&restrict, dwFlags, (void* (*)(void*))pMethod, pParam)) return pdwThreadID;
    	return 0;
    }
    
    #endif

    Человек пишет кросплатформенный http-сервер, а заодно свой собсвенный фреймворк. Участок кода с нитями.

    guest, 16 Мая 2009

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

    −27.4

    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
    t1max=0;
    i=0;
    for(i=0;i<4;i++)
    {
    t1maxMass[i]=0;
    i++;
    }
    t2max=0;
    i=0;
    for(i=0;i<4;i++)
    {
    t2maxMass[i]=0;
    i++;
    }
    t3max=0;
    i=0;
    for(i=0;i<4;i++)
    {
    t3maxMass[i]=0;
    i++;
    }
    
    t1maxM=0;
    i=0;
    for(i=0;i<4;i++)
    {
    t1maxMassM[i]=0;
    i++;
    }
    t2maxM=0;
    i=0;
    for(i=0;i<4;i++)
    {
    t2maxMassM[i]=0;
    i++;
    }
    t3maxM=0;
    i=0;
    for(i=0;i<4;i++)
    {
    t3maxMassM[i]=0;
    i++;
    }

    Человек собирается защитить диплом.
    Участок кода

    guest, 15 Мая 2009

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

    −35.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    bool Update(float dt) // ага, вот так вот жестоко мы постепенно приведём всё к нормальным coding conventions ^_^
      {
        return update(dt);
      }
    
      bool update(float dt) // теперь возвращает true если value изменилось и false если нет
      {
         //bla-bla-bla

    жестокое решение code standart'a

    guest, 15 Мая 2009

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