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

    +56.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    interfaceSprites[0]=new hgeSprite(interfaceSet,32,0,10,10);
        interfaceSprites[1]=new hgeSprite(interfaceSet,42,0,10,10);
        interfaceSprites[2]=new hgeSprite(interfaceSet,52,0,10,10);
        interfaceSprites[3]=new hgeSprite(interfaceSet,32,10,10,10);
        interfaceSprites[4]=new hgeSprite(interfaceSet,42,10,10,10);
        interfaceSprites[5]=new hgeSprite(interfaceSet,52,10,10,10);
        interfaceSprites[6]=new hgeSprite(interfaceSet,32,20,10,10);
        interfaceSprites[7]=new hgeSprite(interfaceSet,42,20,10,10);
        interfaceSprites[8]=new hgeSprite(interfaceSet,52,20,10,10);

    весело, что это более читабельно, чем с циклом...

    MyParanoya, 16 Апреля 2010

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

    +61.2

    1. 1
    2. 2
    3. 3
    4. 4
    FILE *f=fopen(name, "wb");
    char *text="<DMB 1.0>\n\n";
    for(int i=0;i<=10;i++){fputc((int)text, f);}
    fclose(f);

    Замечу это c++, так как это чудо находилось в классе.

    hromjo, 16 Апреля 2010

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

    +913.2

    1. 1
    if (c != "$"[0])

    Без комментария

    Snake2101, 16 Апреля 2010

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

    +61.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    unsigned int nRecsSize=0;
    
    nRecsSize+=4;
    nRecsSize+=1;
    nRecsSize+=1;
    nRecsSize+=rec_.ip.length();
    nRecsSize+=6;
    	
    BYTE *pData = new BYTE[nRecsSize];

    Вот так надо высчитывать память под динамический массив

    Snake2101, 16 Апреля 2010

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

    +905.2

    1. 1
    2. 2
    3. 3
    4. 4
    if ( tmp - res == 11 )
    {
    tmp = tmp;
    }

    Нашел в проэкте сегодня. Кто отгадает, зачем этот код был нужен - тому ничего не будет.

    phizik, 14 Апреля 2010

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

    +49.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    bool ok;
    double d;
    
    QLocale c(QLocale::C);
    d = c.toDouble( "1234.56", &ok );  // ok == true, d == 1234.56

    Ссылка на bool!

    mock, 14 Апреля 2010

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

    +60.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
    bool CMLayer::operator==(CMLayer ^a, CMLayer ^b)
    {
    	CLayer *pA;
    	CLayer *pB;
    	bool bA = false;
    	bool bB = false;
    
    	// Проверка в катче
    	try
    	{
    		pA = a->m_pelMain;
    	}
    	catch (System::NullReferenceException ^)
    	{
    		pA = NULL;
    		bA = true;
    	}
    
    	// Проверка в катче
    	try
    	{
    		pB = b->m_pelMain;
    	}
    	catch (System::NullReferenceException ^)
    	{
    		pB = NULL;
    		bB = true;
    	}
    
    	if ((bA == true) && (bB == true))
    		return true;
    	else if ((bA == true) || (bB == true))
    		return false;
    
    	return pA == pB;
    }

    Код на Management C++, тот кто его писал был явно в ажуре))))
    Проверяются указатели на внутрении данные, а штоб System::NullReferenceException не выскакивал при сравнее на null все сделанно в катче

    Snake2101, 09 Апреля 2010

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

    +144.8

    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
    99. 99
    bool PathProcessor::Process(PPProcess *pProcess)
    {
    	std::vector<int> viRoute; int nRouteCount; bool bRetVal = false;
    	for (int i = 0; i < m_viExcludeStop.size(); i++){
    		if (m_viExcludeStop[i] == pProcess->nStartStopId) return false;
    	}
    	int bbb = 0;
    	if (pProcess->nRouteId < 0){
    		viRoute = GetRoutesID(pProcess->nStartStopId);
    		nRouteCount = viRoute.size();
    		if (nRouteCount <= 0) return false;
    	}
    	else{
    		viRoute = GetRoutesID(pProcess->nStartStopId, pProcess->nRouteId);
    		nRouteCount = viRoute.size();
    		if (nRouteCount <= 0) return false;
    		nRouteCount = 1;
    	}
    	for (int i = 0; i < nRouteCount; i++){
    		RouteDataInfo rdCur = GetRoute(viRoute[i]);
    		pProcess->nRoutePartId = rdCur.nId;
    		PPResult *pRes;
    		bool bCurRetVal = false;
    		if (pProcess->bIsFirstStop == true){
    			pRes = new PPResult();
    			pRes->bFinished = false;
    			pRes->nFirstStopId = pProcess->nFirstId;
    			pRes->nLastStopId = -1;
    			pRes->nRouteId = rdCur.nRouteId;
    			m_viResult.push_back(pRes);
    		}
    		else pRes = pProcess->pLastResult;
    		if (pRes != NULL){
    			PartInfo piTemp(rdCur.nId, rdCur.nLastStopId);
    			pRes->viPartsId.push_back(piTemp);
    		}
    		if (IsEndStop(rdCur.nLastStopId) == true){
    			if (pRes != NULL){
    				pRes->bFinished = true;
    				pRes->nLastStopId = rdCur.nLastStopId;
    			}
    			bRetVal = true;	bCurRetVal = true;
    		}
    		if ((pProcess->IsStopExist(rdCur.nLastStopId) == false) && (bCurRetVal == false)){
    			if ((pProcess->nCurStep < m_nMaxStep) && (pProcess->nRouteId >= 0)){
    				PPProcess ppProc;
    				ppProc.nCurStep = pProcess->nCurStep;
    				ppProc.nRouteId = pProcess->nRouteId;
    				ppProc.nStartStopId = rdCur.nLastStopId;
    				ppProc.pPrevProc = pProcess;
    				ppProc.bIsFirstStop = false;
    				ppProc.nFirstId = pProcess->nFirstId;
    				if (pProcess->pLastResult == NULL) ppProc.pLastResult = pRes;
    				else ppProc.pLastResult = pProcess->pLastResult;
    				if (Process(&ppProc) == true) bRetVal = true;
    			}
    			else if (pProcess->nCurStep < m_nMaxStep){
    				PPProcess ppProc;
    				ppProc.nCurStep = pProcess->nCurStep;
    				ppProc.nRouteId = rdCur.nRouteId;
    				ppProc.nStartStopId = rdCur.nLastStopId;
    				ppProc.pPrevProc = pProcess;
    				ppProc.bIsFirstStop = false;
    				ppProc.nFirstId = pProcess->nFirstId;
    				if (pProcess->pLastResult == NULL) ppProc.pLastResult = pRes;
    				else ppProc.pLastResult = pProcess->pLastResult;
    				if (Process(&ppProc) == true) bRetVal = true;
    			}
    			if (pProcess->nCurStep+1 < m_nMaxStep){
    				PPProcess ppProc2;
    				ppProc2.nCurStep = pProcess->nCurStep+1;
    				ppProc2.nRouteId = -1;
    				ppProc2.nStartStopId = rdCur.nLastStopId;
    				ppProc2.pPrevProc = pProcess;
    				ppProc2.bIsFirstStop = true;
    				ppProc2.nFirstId = rdCur.nLastStopId;
    				ppProc2.pLastResult = NULL;
    				if (Process(&ppProc2) == true){
    					PPResult *pRes2;
    					pRes2 = new PPResult();
    					pRes2->bFinished = true;
    					pRes2->nFirstStopId = pRes->nFirstStopId;
    					pRes2->nLastStopId = rdCur.nLastStopId;
    					pRes2->nRouteId = pRes->nRouteId;
    					PPProcess *pProc = pProcess;
    					while (pProc != NULL){
    						PartInfo piTemp(pProc->nRoutePartId, pProc->nStartStopId);
    						pRes2->viPartsId.push_back(piTemp);
    						pProc = pProc->pPrevProc;
    					}
    					m_viResult.push_back(pRes2); bRetVal = true;
    				}
    			}
    		}
    	}
    	if ((bRetVal == false) && (pProcess->nRouteId < 0))
    		m_viExcludeStop.push_back(pProcess->nStartStopId);
    	return bRetVal;
    }

    Когда-то давно писал алгоритм поиска маршрутов, теперь удевляюсь как это все работает да еще и не виснет

    Snake2101, 09 Апреля 2010

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

    +144.8

    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
    #include "stdafx.h"
    #include "windows.h"
    
    #define число int
    #define если if
    #define иначе else
    #define начало {
    #define конец }
    #define НОЛЬ NULL
    #define Сообщение MessageBoxA
    #define КНОПКА_ОК MB_OK
    #define возврат
    #define присвоить =
    #define равняется ==
    #define больше >
    #define ТочкаВхода _tmain
    #define Строка _TCHAR
    #define УКАЗАТЕЛЬ *
    #define КонецСтроки ;
    #define СлучайноеЧисло rand
    #define Посев srand
    #define ВзятьКоличествоТиков GetTickCount
    
    /****************************************************************************************************/
    /*																									*/
    /****************************************************************************************************/
    число ТочкаВхода(число КоличествоПараметров, Строка УКАЗАТЕЛЬ Параметры[])
    {
    	Посев(ВзятьКоличествоТиков());
    	число новое присвоить СлучайноеЧисло() КонецСтроки
    	если (новое больше 10000) начало
    		Сообщение(НОЛЬ, "Больше 10000", НОЛЬ, КНОПКА_ОК) КонецСтроки
    	конец иначе начало
    		Сообщение(НОЛЬ, "Меньше 10000", НОЛЬ, КНОПКА_ОК) КонецСтроки
    	конец
    
    	возврат 0 КонецСтроки
    }

    Ооо могучий C++

    Snake2101, 09 Апреля 2010

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

    +144.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    A* arr = new A[size];
    std::vector<A*> vec(size);
    for(size_t i=0; i<size; ++i)
    	vec.push_back(&a[i])
    // Do something with vec
    delete[] arr;

    kokorins, 08 Апреля 2010

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