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

    +1000

    1. 1
    const double pi = acos(-1.0);

    В каждой посылке codeforces - участника shentianxiao.

    P.S. Он - китаец

    VisualPaul, 08 Января 2012

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

    +1008

    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
    QPainter painter(this);
    int a1;
    int a2;
    int a3;
    int a4;
    //.......
    int a999;
    int a1000;
    
    a1 = 1;
    a2 = 1;
    a3 = 1;
    a4 = 1;
    //.......
    a999 = 1;
    a1000 = 1;
    
    while (a1 != 500)
    {         painter.drawLine(a1, a1, a1, a1); a1 ++; 
    }
    
    while (a2 != 500)
    {         painter.drawLine(a2, a2, a2, a2); a2 ++; 
    }
    while (a3 != 500)
    {         painter.drawLine(a3, a3, a3, a3); a3 ++; 
    }
    while (a4 != 500)
    {         painter.drawLine(a4, a4, a4, a4); a1 ++; 
    }
    //........
    while (a999 != 500)
    {         painter.drawLine(a999, a999, a999, a999); a999 ++; }
    }
    while (a1000 != 500)
    {         painter.drawLine(a1000, a1000, a1000, a1000); a1000 ++; }
    }

    ПРИКИНЬТЕ такое в paintevente!!!!!!! Qt

    VProger, 05 Января 2012

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

    +1001

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void Object::destroy ()
    {
      evas_object_del (o);
      
      // do a suicide as the delete operator isn't public available
      // the reason is that the C design below is a suicide design :-(
      //delete (this); // TODO: why does this make problems sometimes???
    }

    source: trunk/BINDINGS/cxx/elementaryxx/src/Object.cpp @ 65926

    rat4, 04 Января 2012

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

    +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
    if(SpokaneFileList->Strings[i].SubString(1,8).ToInt() < 1000){
          imageFolder="00000\\";
        }else if (SpokaneFileList->Strings[i].SubString(1,8).ToInt() < 2000){
          imageFolder="00001\\";
        }else if (SpokaneFileList->Strings[i].SubString(1,8).ToInt() < 3000){
          imageFolder="00002\\";
        }else if (SpokaneFileList->Strings[i].SubString(1,8).ToInt() < 4000){
    ....
          imageFolder="00034\\";
        }else if (SpokaneFileList->Strings[i].SubString(1,8).ToInt() < 36000){
          imageFolder="00035\\";
        }else if (SpokaneFileList->Strings[i].SubString(1,8).ToInt() < 37000){
          imageFolder="00036\\";
        }

    Сегодня чувствую себя сказочным героем (Гераклом) в весьма не сказочно обкаканном месте (авгиевых конюшнях),
    которому надо это место отмыть до блеска...

    меняю куски наподобие такого, как выше, каждый длиной по 75 строк - на вот такую конструкцию собственного сочинения -

    int sfFactor = SpokaneFileList->Strings[i].SubString(1,8).ToInt();
    int imageFolder = StringHelper::NormalizeString(IntToStr(s fFactor/1000), 5, "0", true, true) + "\\";

    - FYI функция StringHelper::NormalizeString() занимает 19 строк.

    На добивание:
    такие куски встречаются в программе около 20 раз (!!!)

    Индийский код - не признак национальности, а способ мышления...

    dm-ua, 19 Декабря 2011

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

    +1003

    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
    unsigned int mapGray(double color/*0.0 --- 255.0*/)
    {
        int base = static_cast<unsigned char>(color);
        if(base>=255)
            return 0xFFFFFFFF;
        else if(base<0)
            return 0x000000;
        double frac = color-base;
        unsigned char r = 0;
        unsigned char g = 0;
        unsigned char b = 0;
        if(frac<1.0/14.0) {
        } else if(frac<3.0/14.0) {
            r=1;
        } else if(frac<5.0/14.0) {
            b=1;
        } else if(frac<7.0/14.0) {
            g=1;
        } else if(frac<9.0/14.0) {
            b=1;
            r=1;
        } else if(frac<11.0/14.0) {
            g=1;
            b=1;
        } else if(frac<13.0/14.0) {
            r=1;
            g=1;
        } else {
            r=1;
            g=1;
            b=1;
        }
        return (base+r)<<16 | (base+g)<<8 | (base+b) | 0xFF000000;
    }

    Чуть больше оттенков серого.

    Xom94ok, 19 Декабря 2011

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

    +997

    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
    Can you think of an algorithm that performs the below:
    “The Big Brown Fox”    	     => “Fox Brown Big The”
    “How are you?”                 => “you? are How”
    
    std::string reverse_words( const std::string& str )
    {
      std::string result;
      result.reserve( str.length() );
      
      size_t word_begin = 0;
      while( word_begin < str.length() )
      {
        const size_t pos = str.find_first_of( ' ', word_begin );
        pos = (pos != string::npos) ? pos : str.length();
        std::string word = str.substr( word_begin, pos-word_begin );
        word_begin = pos + 1;
    
        if (result.length() > 0)
        {
          word.append( 1, ' ');
        }
        result.insert( 0, word );
      }
      return result;
    }

    высрал буквально 5 минут назад
    inplace версию чего-то влом писать для домашнего теста, да и кода в ней будет больше, но работать она должна быстрее за счет отсутствия аллокаций
    но писать надо, так как отправлять такое как-то стыдно

    pushkoff, 17 Декабря 2011

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

    +166

    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
    /*** The following methods are NOT functional
    	        They're just there to detect coding errors at compilation time ***/
    	    inline KgeRGBAVector operator + (const KgeRGBAVector &/*pVector*/) const {KgeRGBAVector lNullVector; return lNullVector;}
            inline KgeRGBAVector operator - (const KgeRGBAVector &/*pVector*/) const {KgeRGBAVector lNullVector; return lNullVector;}
            inline KgeRGBAVector operator * (const KgeRGBAVector &/*pVector*/) const {KgeRGBAVector lNullVector; return lNullVector;}
            inline double  operator ^ (const KgeRGBAVector &/*pVector*/) const {return 0.0;}
            inline KgeRGBAVector &operator += (const KgeRGBAVector &/*pVector*/) {return *this;}
            inline KgeRGBAVector &operator -= (const KgeRGBAVector &/*pVector*/) {return *this;}
            inline KgeRGBAVector &operator *= (const KgeRGBAVector &/*pVector*/) {return *this;}
    
            inline KgeRGBAVector operator * (double /*pScalar*/) const {KgeRGBAVector lNullVector; return lNullVector;}
            inline KgeRGBAVector operator / (double /*pScalar*/) const {KgeRGBAVector lNullVector; return lNullVector;}
            inline KgeRGBAVector &operator *= (double /*pScalar*/) {return *this;}
            inline KgeRGBAVector &operator /= (double /*pScalar*/) {return *this;}

    Говнокод или гениально? Дискас.

    makc3d, 17 Декабря 2011

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

    +1002

    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
    string Daumants::getReverse()
    {
    	string message = this->data();
    	char *reverseMessage = new char[this->length()];
    	for (int i = this->length() - 1, j = 0; i >= 0; i--, j++)
    	{
    		reverseMessage[j] = message[i];
    	}
    
    	for (int i = 0; i < this->length(); i++)
    	{
    		message[i] = reverseMessage[i];
    	}
    
    	return message;
    }

    Даумант ХУЙ!

    toxicDuck, 14 Декабря 2011

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

    +993

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(pObject == NULL)
    {
            //code
    }else if(pObject != NULL && pObject->getProperty() == Class::VALUE)
    {
           //code
    }

    Идентификаторы надуманные, но суть такова

    google-moogle, 14 Декабря 2011

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

    +145

    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
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #define eps 0.001
    
    float Phi1 (float x_pred[1])
    {
          return asin(1.2 + x_pred[1]) - 1;
    }
    
    float Phi2 (float x_pred[0])
    {
          return acos(2 - 2*x_pred[0]);
    }
    
    int main ()
    {
        float x_pred[1],x[1];
        float norma;
        
        x_pred[0] = 0.4;
        x_pred[1] = -0.3;
        
        do
        {
          x[0] = Phi1(x_pred[1]);
          x[1] = Phi2(x_pred[0]);
          printf("%6.2f",x[0]);
          printf("             %6.2f\n",x[1]);
          norma = (fabs(x[0] - x_pred[0])) > fabs((x[1] - x_pred[1])) ? fabs(x[0] - x_pred[0]) : fabs(x[1] - x_pred[0]);
          if (norma >= eps) break;
          else
          {
            x_pred[0] = x[0];
            x_pred[1] = x[1];
          }
        }
        while (1);
        getch();
        return 0;
    }

    govnouser, 13 Декабря 2011

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