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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    enum IsHaveItem
    //...
    switch(Havelo)
        {
            case IsHaveItem::Have: have();
            case IsHaveItem::Havent: haveOrNotHave();break;
            default:assert(false&&"Признай, что ты идиот и это не лечится!");
        }

    Говногость, 28 Февраля 2012

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

    +1001

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    p1=Vec2(cos(pi/180*mParticles[index].mRotation)*1.2f*radius,sin(pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    p2=Vec2(cos(pi+pi/180*mParticles[index].mRotation)*1.2f*radius,sin(pi+pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    DrawLine((int)p1.x,(int)p1.y,(int)p2.x,(int)p2.y);
    p1=Vec2(cos(pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius,sin(pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    p2=Vec2(cos(3*pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius,sin(3*pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    DrawLine((int)p1.x,(int)p1.y,(int)p2.x,(int)p2.y);

    lifemaker, 27 Февраля 2012

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

    +994

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    http://paste.org.ru/?qgrubj
    http://paste.org.ru/?r6kovp
    
    
    #define X3J11_CallFunction(WinApi,FuncHash,ModHash,...) \
    	((sizeof(WinApi(__VA_ARGS__),'~')),(X3J11_Gate<FuncHash,ModHash,boost::add_pointer<BOOST_TYPEOF(WinApi)>::type>(__VA_ARGS__)))
    
    #define X3J11_CallOverload(Signature,FuncHash,ModHash,...) \
    	((sizeof(((boost::add_pointer<Signature>::type)0)(__VA_ARGS__),'~')),(X3J11_Gate<FuncHash,ModHash,boost::add_pointer<Signature>::type>(__VA_ARGS__)))

    63F45EF45RB65R6VR, 24 Февраля 2012

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

    +991

    1. 1
    memmove(&*_Dest, &*_First, _Count * sizeof (*_First));

    в библиотеке memory, может я чего-то не понял, но выглядит как операция "подёргивание-2" (&*_Dest)

    Taru4, 23 Февраля 2012

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

    +1009

    1. 1
    mExpanded = onExpandClick ? !mExpanded : mExpanded;

    lifemaker, 22 Февраля 2012

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

    +141

    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
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int n, m, c, b, f = 0;
        cin >> n >> m;
        int A[n][m];
        for(int i = 0; i < n; i++ )
        {
            for(int j = 0; j < m; j++)
            {
                cin >> A[i][j];
            }
        }
    
            for(int i = 0; i < n; i++ )
            {
                b = A[i][0];
                for(int j = 0; j < m; j++)
                {
                c = A[0][j];
                for(int a = 0; a < n; a++)
                 {
    
                     if(c < A[0][a])
                     {
                         c = A[0][a];
                     }
                 }
                 for(int k = 0; k < m; k++)
                 {
    
                     if(b > A[k][0])
                     {
                        b = A[k][0];
                     }
                 }
    
    
                 if(b == c)
                 {
                     f++;
                 }
                }
            }
                cout << f;
                return 0;
    }

    Задана матрица K, содержащая n строк и m столбцов. Седловой точкой этой матрицы назовем элемент, который одновременно является минимумом в своей строке и максимумом в своем столбце.

    Найдите количество седловых точек заданной матрицы.
    Вроде всё правильно, а выдаёт, что есть необработаное исключение.Что не так?

    alexsid13, 20 Февраля 2012

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

    +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
    void drawFigure()
    {
    	for(int i=0;i<figMaxI;i++)
    		for(int j=0;j<figMaxY;j++)
    			if(figure.space[i][j].wut==1)
    			{
    				if(figure.y+i>=2)
    					if(figureEffekt == 1)
    					{
    						engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34)-effekt[0].x, gameSpace.y+((figure.y+i)*34)-effekt[0].y, 34, 34, 0.4, 0, 0);
    						engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34)+effekt[0].y, gameSpace.y+((figure.y+i)*34)+effekt[0].x, 34, 34, 0.8, 0, 0);
    						engine->print(fontAlphabet,0, figure.space[i][j].letter , gameSpace.x+((figure.x+j)*34)+6+effekt[0].y,gameSpace.y+((figure.y+i)*34)+4+effekt[0].x,1,0,2);
    					}
    					else
    					{
    						engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34), gameSpace.y+((figure.y+i)*34), 34, 34, 1, 0, 0);
    						engine->print(fontAlphabet,0, figure.space[i][j].letter , gameSpace.x+((figure.x+j)*34)+6,gameSpace.y+((figure.y+i)*34)+4,1,0,2);
    					}
    			}
    }

    великое и могучее ООП в действии

    -ggorky, 19 Февраля 2012

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void main()
    {
        int mass[6]={4,1,3,5,7,0};
        quicksort(mass,5);
        while(mass[5]<7)
            printf("%d",mass[5]);
        getch();
    }

    в общем дал препод готовую программу, задание было найти ошибки, так как программа компилируется, и вроде как ошибка не очевидна, как там виндовс выполнять это будет не знаю, у меня бы вылетело с ошибкой сегментирования, делаю предположение. Изначально проблемное место выглядело примерно так:
    while(mass[5]<5)
    printf("%d",mass[mass[5]]);
    вот это исправление одного из студентов нашего потока, так это второй курс специальности ЭВМ, (facepalm)

    maksim_ovcharik, 17 Февраля 2012

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

    +1005

    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
    unsigned
    int
    length () {
    
        unsigned
        int
            number = (this -> number + 1) % 16;
        int
            second = size - number;
    
    
        return (second / 16) + (1 % ((second % 16) + 1)) + (1 % (number + 1));
    }

    Вот такая фигня у нас в коде, работающем в аппаратуре отображения и протоколирования данных на АЭС.
    Авторское форматирование сохранено.

    Нашли когда оно с новыми конфигами стало падать от деления на ноль при запуске.

    Balthasar, 17 Февраля 2012

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

    +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
    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
    void CXMLParser::Parse(std::map< std::pair<int, int>, int >& link)
    {
      _di_IXMLNode areaNode = MessageNode->ChildNodes->FindNode( WideString("area") );
      if( areaNode )
      {
        Area.reset( new CAreaPart( areaNode ) );
        IXMLNodeList* pointList = areaNode->ChildNodes;
        if( pointList )
        {
          for(int pointIndex=0; pointIndex<pointList->GetCount(); pointIndex++)
          {
            _di_IXMLNode pointNode = pointList->Get( pointIndex );
            int typePoint = -1;
            if( pointNode->GetNodeName() == WideString("measuringpoint") )
              typePoint = MEASURING;
            if( pointNode->GetNodeName() == WideString("accountpoint") )
              typePoint = ACCOUNT;
            if( pointNode->GetNodeName() == WideString("deliverypoint") )
              typePoint = DELIVERY;
            switch( typePoint )
            {
            case MEASURING:
            case ACCOUNT:
            case DELIVERY:
              {
                const int pointCode    = pointNode->GetAttribute( WideString("code") );
                const String pointName = pointNode->GetAttribute( WideString("name") );
                IXMLNodeList* channelList = pointNode->ChildNodes;
                if( channelList )
                {
                  for(int channelIndex=0; channelIndex<channelList->GetCount(); channelIndex++)
                  {
                    _di_IXMLNode channelNode = channelList->Get( channelIndex );
                    if( channelNode->GetNodeName() == WideString("measuringchannel") )
                    {
                      const int channelCode    = channelNode->GetAttribute( WideString("code") );
                      const String channelDesc = channelNode->GetAttribute( WideString("desc") );
                      IXMLNodeList* periodList = channelNode->ChildNodes;
                      if( periodList )
                      {
                        for(int periodIndex=0; periodIndex<periodList->GetCount(); periodIndex++)
                        {
                          _di_IXMLNode periodNode = periodList->Get( periodIndex );
                          if( periodNode )
                          {
                            String str = periodNode->GetAttribute( WideString("start") );
                            periodNode->GetAttribute( WideString("end") );
                            TDateTime time;
                            time = TDateTime( StrToInt( str.SubString( 1, 2 ) ), StrToInt( str.SubString( 3, 2 ) ), 0, 0 );
                            periodNode->GetAttribute( WideString("summer") );
                            time = IncMinute( time, 30 );
                            _di_IXMLNode valueNode = periodNode->ChildNodes->FindNode( WideString("value") );
                            if( valueNode )
                            {
                              const int status = valueNode->GetAttribute( WideString("status") );
                              const int value = StrToInt( valueNode->Text );
                              if( RTDBWrite )
                              {
                                map< pair<int, int>, int >::iterator i = link.find( make_pair( pointCode, channelCode ) );
                                if( i!=link.end() )
                                {
                                  (*RTDBWrite)( Date->DateInterval.first + time, (*i).second, value, status );
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      RTDBWrite->Flush();
    }

    Древний legacy-код на БорландЦэпэпэБыдлере, обнаруживаемый на текущей работе (почти госпредприятие), выглядит в основной своей массе примерно так. Новый код на C# чуть получше, но в целом тоже жуткое мракобесие.
    Сил больше нет работать с подобным, увольняюсь и ищу норм работу.

    invi, 15 Февраля 2012

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