1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. C++ / Говнокод #1013

    −0.2

    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
    // txTextOut выводит текст на заданных координатах
    // Часть функции вывода рейтинга
    if (rating == 10) txTextOut (620, 0, "Твой рейтинг: 10");
    if (rating == 9)  txTextOut (620, 0, "Твой рейтинг: 9");
    if (rating == 8)  txTextOut (620, 0, "Твой рейтинг: 8");
    if (rating == 7)  txTextOut (620, 0, "Твой рейтинг: 7");
    if (rating == 6)  txTextOut (620, 0, "Твой рейтинг: 6");
    if (rating == 5)  txTextOut (620, 0, "Твой рейтинг: 5");
    if (rating == 4)  txTextOut (620, 0, "Твой рейтинг: 4");
    if (rating == 3)  txTextOut (620, 0, "Твой рейтинг: 3");
    if (rating == 2)  txTextOut (620, 0, "Твой рейтинг: 2");
    if (rating == 1)  txTextOut (620, 0, "Твой рейтинг: 1");
    if (rating <= 0)  txTextOut (620, 0, "Твой рейтинг: 0");
    .....
    if (level == 1) Text_First_Level  (fon_text_level);    
    if (level == 2) Text_Second_level (fon_text_level);
    if (level == 3) Text_Third_Level  (fon_text_level);
    if (level == 4) Text_Fourth_level (fon_text_level);
    // по этим фрагментам понятно, что switch я ещё не знал))
    .....
    if (level == 1) Check_exit (&Player_x, &Player_y, 1, 750, 550, &fon, key_on, key_off, arrow_left, arrow_right);
    if (level == 2) Check_exit (&Player_x, &Player_y, 2, 250, 350, &fon, key_on, key_off, arrow_left, arrow_right);
    if (level == 3) Check_exit (&Player_x, &Player_y, 3, 750, 550, &fon, key_on, key_off, arrow_left, arrow_right);
    if (level == 4) Check_exit (&Player_x, &Player_y, 4,  50, 550, &fon, key_on, key_off, arrow_left, arrow_right);
    // циклы я знал, хотя это и не заметно)) а вот структуры и массивы - нет
    // последние параметры - картинки))
    .....
    Teleport (&Player_x, &Player_y, 3, 750,  50,  50, &fon, key_on, key_off, arrow_left, arrow_right);
    Teleport (&Player_x, &Player_y, 3, 750, 150, 150, &fon, key_on, key_off, arrow_left, arrow_right);
    Teleport (&Player_x, &Player_y, 3, 750, 250, 250, &fon, key_on, key_off, arrow_left, arrow_right);
    Teleport (&Player_x, &Player_y, 3, 750, 350, 350, &fon, key_on, key_off, arrow_left, arrow_right);
    Teleport (&Player_x, &Player_y, 3, 750, 450, 450, &fon, key_on, key_off, arrow_left, arrow_right);
    Teleport (&Player_x, &Player_y, 3, 750, 550, 550, &fon, key_on, key_off, arrow_left, arrow_right);
    // без комментариев
    .....
    // вобщем, вся прога примерно такая. Я сам писал её))))
    //

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

    guest, 06 Мая 2009

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

    +11.5

    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
    //---------------------------------------------------------------------------
    int print(int p)
    {
            int n;
    	int i;
    	char c;
    	clrscr();
            Y cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
    		201,205,205,205,209,
    		205,205,205,205,205,205,205,205,205,205,205,205,209,
    		205,205,205,205,205,205,205,205,205,205,205,205,209,
            	205,205,205,205,205,205,205,205,205,205,205,205,209,
    		205,205,205,205,209,
    		205,205,205,205,205,205,205,205,205,205,205,205,205,209,
    		205,205,205,205,205,205,205,187);
    	cprintf("%c %c %c   Surname  %c    Name    %c Patronymic %cYear%c  Profession %c Wages %c\n\r",
    		186,252,179,179,179,179,179,179,186);
    	cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
    		199,196,196,196,197,
    		196,196,196,196,196,196,196,196,196,196,196,196,197,
    		196,196,196,196,196,196,196,196,196,196,196,196,197,
    		196,196,196,196,196,196,196,196,196,196,196,196,197,
    		196,196,196,196,197,
    		196,196,196,196,196,196,196,196,196,196,196,196,196,197,
    		196,196,196,196,196,196,196,186);
    	for(i = 0; i < p; i++)
    		{
    		cprintf("%c", 186);
    		W cprintf("%3i", i +1);
    		Y cprintf("%c",179);
    		W cprintf("%12s", rabota[i].fam);
    		Y cprintf("%c",179);
    		W cprintf("%12s", rabota[i].name);
    		Y cprintf("%c",179);
    		W cprintf("%12s", rabota[i].otch);
    		Y cprintf("%c",179);
    		W cprintf("%4i", rabota[i].year);
    		Y cprintf("%c",179);
    		W cprintf("%13s", rabota[i].prof);
    		Y cprintf("%c",179);
    		W cprintf("%7i", rabota[i].zarpl);
    		Y cprintf("%c\n\r", 186);
                   }
            cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
                    200,205,205,205,207,
                    205,205,205,205,205,205,205,205,205,205,205,205,207,
                    205,205,205,205,205,205,205,205,205,205,205,205,207,
                    205,205,205,205,205,205,205,205,205,205,205,205,207,
                    205,205,205,205,207,
                    205,205,205,205,205,205,205,205,205,205,205,205,205,207,
                    205,205,205,205,205,205,205,188);
    		W cprintf("Continue Y/N ?");
            scanf("%s", &c);
            if(c == 'Y' || c == 'y')
                    return 1;
            else
                    exit(1);
            return 0;
    }
    
    //---------------------------------------------------------------------------

    Графика под DOS это сильно

    guest, 06 Мая 2009

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