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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    inline bool equDouble(const double& x, const double& y, const double p = 0.0001)
    {
    	if (x == y)
    		return true;
    	double z = min(fabs(x), fabs(y));
    	return (fabs(x - y) < (p * z));
    }

    Константные ссылки на double

    guest, 17 Марта 2009

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

    +148.7

    1. 1
    2. 2
    #define IsVowel(symb) (((symb == 'a') || (symb == 'e') || (symb == 'i') || (symb == 'o') || (symb == 'y') || (symb == 'u') || (symb == 'A') || (symb == 'E') || (symb == 'E') || (symb == 'I') || (symb == 'O') || (symb == 'U')) ? 1 : 0)
    #define IsGood(word) (((!IsVowel(word[0])) && (IsVowel(word[strlen(word) - 1]))) ? 1 : 0)

    Необходимо вывести в алфавитном порядке те слова, первая буква которых является согласной, а последняя гласной.
    Как говорится, лучше проще и понятнее, чем умнее.

    guest, 17 Марта 2009

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    case IDC_CHECK1:
    			UINT uChk = IsDlgButtonChecked(hWnd, IDC_CHECK1);
    			SetWindowPos(hWnd, (HWND)((uChk != 0) -2),0,0,0,0, SWP_NOSIZE | SWP_NOMOVE );
    			break;

    индокод

    guest, 16 Марта 2009

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

    +152

    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
    #include <stdio.h>
    
    
    void main()
    {
    printf("WTF? :)\n");
    }
    
    #undef main
    
    
    int HAHA()
    {
    I();
    return 0;
    }

    как же написать программу с
    void main();
    ????
    gcc ./main.cpp -Dmain=I -DHAHA=main -lstdc++

    P.S. страуструп продолжает рвать на себе волосы от использования Cpp

    guest, 14 Марта 2009

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

    +1006.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
    #include <stdlib.h>
    #include <conio.h>
    #include <iostream.h>
    
    int main()
    {
            int i,ass,cmpr,sort=2;
            int mass[20];
            while((sort==1)&&(sort==2)&&(sort==3))
            {
                    cout<<"введите вид сортировки: 1 — шейрная, 2- выбор, 3 — быстрая"<<;
                    cin>>sort;
                    for(i=0;in;i++)
                    {
                            cout<<"Введите число в массив"<<;
                            cin>>mass[i];
                    }
                    if (sort==1)
                    {
                            //пограмма шейкерной сортировки
                    }
                    else if (sort==2)
                    {
                            //программа сортировки прямым выбором
                    }
                    else if (sort==3)
                    {
                            // быстрая
                    }
                    for (i=0;i<n;i++)
                            cout<<mass[i]<<;
                    cout<<"\n";
                    cout<<ass<<"\n";
                    cout<<cmpr<<"\n";
            }
            return 0;
    }

    Преподаватель по Си это привел как пример лабораторной работы. Замечу, что он утверждал что это Си.
    Из особо жестоких особенностей - есть даже логическая ошибка.

    guest, 14 Марта 2009

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

    +990.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    bool CUser::IsFavorite(const CGuid &guid)
    {
     ASSERT(this);
     if(!this )
      return false;
    ...
    }

    guest, 12 Марта 2009

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

    +140.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
    class vector_ptd    //pointed vector - вектор заданный 2 точками, т.е. привязанный к опр.месту в пространстве
    {
    ...
    /*vector operator =(point& _p)
    {
        vector _v;
        _v.vx=_p.x;
        _v.vy=_p.y;
        _v.vz=_p.z;
        return _v;
    }*/
    ...
    };
    
    vector vectorp(point& _p)
    {
    	vector _v;
    	_v.vx=_p.x;
    	_v.vy=_p.y;
    	_v.vz=_p.z;
    	return _v;
    }

    Класс, реализующий вектор в трёхмерном пространстве (для трассировщика лучей). Автор не осилил оператор присваивания и тихо закомментил его, сделав вместо него функцию преобразования.

    guest, 06 Марта 2009

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

    +147.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    typedef enSceneObjectsManager::tObjects::const_iterator It;
    if (objects.size() != 0)
        for (It it1(objects.begin()); it1 != objects.end() - 1; ++it1)
            if ((*it1)->GetObjectType() == enSceneObject3D::GetClassType())
                for (It it2(it1 + 1); it2 != objects.end(); ++it2)
                    if (((enSceneObject3D*)(enSceneObject*)(*it1))->GetResource().asInt() == 
                        ((enSceneObject3D*)(enSceneObject*)(*it2))->GetResource().asInt())
                        if ((*it1)->GetTransform() == (*it2)->GetTransform())
                            if (FindObject(theList, (*it2)) == -1)
                                InsertObject(theList, (*it2));

    Ответ на http://www.govnokod.ru/613
    Сурова Java, но C++ суровее.

    guest, 26 Февраля 2009

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

    +142.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
    CreateZipFromFolder(CString m_outfile, CString outfolder)
    {
     CString m_outputfilename = m_outfile;
     CString outpath = outfolder;
     CString p;
    
     TCHAR lpPathBuffer[BUFSIZE];
     TCHAR lpPathBuffer1[BUFSIZE];
     DWORD dwBufSize=BUFSIZE;
    
     DWORD dwRetVal;
     //find temp directory;
     dwRetVal = GetTempPath(dwBufSize, //buffer length
         lpPathBuffer); //path buffer 
         
        if (dwRetVal > dwBufSize || (dwRetVal == 0)) {
            printf ("Failed to get temp path (%d)\n", GetLastError());
            FILE *fp = fopen("C:\\Zip.vbs","w+");
        }
        
        FILE *fp ;
        strcat(lpPathBuffer,"zip.vbs");
    
        CString fileName = lpPathBuffer ;
    
        if((fileName[0] != '\0'))
            fp = fopen(fileName,"w+");
        else(fp = fopen("C:\\Zip.vbs","w+"));
            p.LoadString(RESID_30);
            
        fprintf(fp,"Dim fso, winShell, MyTarget, MySource, file \n") ;
        fprintf(fp,"Set fso = CreateObject(");
        fprintf(fp,"%s",p);
        fprintf(fp,"Scripting.FileSystemObject");
        fprintf(fp,"%s",p);
        fprintf(fp,")   \n");
        fprintf(fp,"Set winShell = createObject(");
        fprintf(fp,"%s",p);
        fprintf(fp,"Shell.Application");
        fprintf(fp,"%s",p);
        fprintf(fp,")    \n");
        fprintf(fp,"MySource =");
        fprintf(fp,"%s",p);
        fprintf(fp,"%s",outpath);
        fprintf(fp,"%s \n",p);
        fprintf(fp,"MyTarget =");
        fprintf(fp,"%s",p);
        fprintf(fp,"%s",m_outputfilename);
        fprintf(fp,"%s \n",p);
        fprintf(fp,"Set file = fso.CreateTextFile(MyTarget, True)   \n");
        fprintf(fp,"file.write ");
        fprintf(fp,"%s",p);
        fprintf(fp,"PK");
        fprintf(fp,"%s",p);
        fprintf(fp,"& chr(5) & chr(6) & string(18,chr(0)) \n");
        fprintf(fp,"file.close \n");
        fprintf(fp,"winShell.namespace(MyTarget).CopyHere winShell.namespace(MySource).items    \n");       fprintf(fp,"do until winShell.namespace(MyTarget).items.count = winShell.namespace(MySource).items.count    \n");
        fprintf(fp,"wscript.sleep 1000 \n");
        fprintf(fp,"loop \n \n");
        fprintf(fp,"Set winShell = Nothing \n");
        fprintf(fp,"Set fso = Nothing");
        fclose(fp);
    
        PROCESS_INFORMATION pi;
        STARTUPINFO si;
        ZeroMemory( &si, sizeof(si) );
        si.cb = sizeof(si);
        ZeroMemory( &pi, sizeof(pi) );
    
        CString filename;
        filename = p + lpPathBuffer + p;
        CString szCommand;
        
        BOOL ret = Is64Bit();
        if(ret) {
            DWORD dwRetVal;
            //get the windows directory;
            dwRetVal = GetWindowsDirectory(lpPathBuffer1,dwBufSize); //path buffer
            strcat(lpPathBuffer1,"\\syswow64\\");
            szCommand = lpPathBuffer1;
            szCommand +="cmd.exe /c cscript //B ";
        }   else {
                szCommand ="cmd.exe /c cscript //B ";
        }
    
        szCommand += filename ;
        if(CreateProcess(NULL,szCommand.GetBuffer(szCommand.GetLength()),NULL,NULL,FALSE,DETACHED_PROCESS,NULL,NULL,&si,&pi)) {
            WaitForSingleObject( pi.hProcess, INFINITE ); 
            CloseHandle( pi.hProcess );
            CloseHandle( pi.hThread );
        }
        
        return 0;
    }

    guest, 20 Февраля 2009

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

    +154

    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
    LRESULT ViewAddBuddy::OnPaint(UINT, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
    {
    	CPaintDC dc( m_hWnd );
    
    	SetBkMode( dc, TRANSPARENT );
    
    	iNameLabel.Paint(dc);
    	iUIDLabel.Paint(dc);
    	iGroupLabel.Paint(dc);
    
    	if(0)
    	       iMSNLabel.Paint(dc);
    
    	return 0;
    }

    код в рабочем проекте... ;(

    guest, 20 Февраля 2009

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