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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (tp==-1 || c==a[tp]-'a') tp++; else {
    		l[ts+1]=la;  p[ts+1]=ts;
    		l[ts]=l[tv];  r[ts]=tp-1;  p[ts]=p[tv];  t[ts][c]=ts+1;  t[ts][a[tp]-'a']=tv;
    		l[tv]=tp;  p[tv]=ts;  t[p[ts]][a[l[ts]]-'a']=ts;  ts+=2;
    		tv=s[p[ts-2]];  tp=l[ts-2];
    		while (tp<=r[ts-2]) {  tv=t[tv][a[tp]-'a'];  tp+=r[tv]-l[tv]+1;}
    		if (tp==r[ts-2]+1)  s[ts-2]=tv;  else s[ts-2]=ts; 
    		tp=r[tv]-(tp-r[ts-2])+2;  goto suff;
    	}

    Говнокод олимпиадный.

    http://e-maxx.ru/algo/ukkonen

    gost, 09 Сентября 2014

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

    +53

    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
    long int p, q, n, t, flag, e[100], d[100], temp[100], m[100], en[100], j, i;
    char msg[100];
    long int cd(long int x)
    {
    	long int k = 1;
    	while (1)
    	{
    		k = k + t;
    		if (k%x == 0)
    			return(k / x);
    	}
    }
    int prime(long int pr)
    {
    	int i;
    	
    	j = sqrtl(pr);
    
    	for (i = 2; i <= j; i++)
    	{
    		if (pr%i == 0)
    			return 0;
    	}
    	return 1;
    }
    void ce()
    {
    	int k;
    	k = 0;
    	for (i = 2; i<t; i++)
    	{
    		if (t%i == 0)
    			continue;
    		flag = prime(i);
    		if (flag == 1 && i != p&&i != q)
    		{
    			e[k] = i;
    			flag = cd(e[k]);
    			if (flag>0)
    			{
    				d[k] = flag;
    				k++;
    			}
    			if (k == 99)
    				break;
    		}
    	}
    }
    void encrypt()
    {
    	long int pt, ct, key = e[0], k, len;
    	i = 0;
    	len = strlen(msg);
     	while (i != len)
    	{
    		pt = m[i];
    		pt = pt - 96;
    		k = 1;
    		for (j = 0; j<key; j++)
    		{
    			k = k*pt;
    			k = k%n;
    		}
    		temp[i] = k;
    		ct = k + 96;
    		en[i] = ct;
    		i++;
    	}
    	en[i] = -1;
    	printf("\nTHE ENCRYPTED MESSAGE IS\n");
    	for (i = 0; en[i] != -1; i++)
    		printf("%c", en[i]);
    }

    трушные функции

    falcon_, 08 Сентября 2014

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

    +54

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Exchange::Params pars = rawParams;
    for(Exchange::Params::const_iterator i = rawParams.constBegin(); i!= rawParams.constEnd(); i++){
        LOGN() << "Work with " << i.key() << "=" << i.value();
        if(m_specific.contains(i.key())){
            pars[i.key()] =
                (this->*m_specific.value(i.key())) (i.value());     //черная магия :)
        }
    }

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

    FlySnake, 08 Сентября 2014

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

    +57

    1. 1
    if (!this) return;

    Actine, 05 Сентября 2014

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

    +51

    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
    void Snake::turnSnake(const int key)
    {
        QPoint pos = components_of_snake.last().topLeft();
        QPoint temp = pos;
    
        bool wasTurned = false;
    
        if((key == Qt::Key_Right) && (side_turn != LEFT))
        {
            side_turn = RIGHT;
    
            pos.rx() += SIZE_OF_COMPONENT;
            wasTurned = true;
        }
        else if((key == Qt::Key_Left) && (side_turn != RIGHT))
        {
            side_turn = LEFT;
    
            pos.rx() -= SIZE_OF_COMPONENT;
            wasTurned = true;
        }
        else if((key == Qt::Key_Up) && (side_turn != DOWN))
        {
            side_turn = UP;
    
            pos.ry() -= SIZE_OF_COMPONENT;
            wasTurned = true;
        }
        else if((key == Qt::Key_Down) && (side_turn != UP))
        {
            side_turn = DOWN;
    
            pos.ry() += SIZE_OF_COMPONENT;
            wasTurned = true;
        }
    
        if(wasTurned)
        {
            components_of_snake.last().moveTo(pos);
            _cathUpHead(temp);
        }
    }

    Метод поворота для змейки)

    darkKnight, 03 Сентября 2014

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

    +61

    1. 1
    int len = dynamic_cast<GatewayRec *>(*Iter)->PrefixMatch(aliases, matchedalias, priority);

    gnugk

    bormand, 02 Сентября 2014

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

    +53

    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
    void nearest(double v) {
        double d = 0.1;
        double v2 = v + d;
        double v3;
        double v4;
        while (v2 != v) {
            v3 = v + d;
            v4 = v - d;
            d = d * 0.9;
            v2 = v + d;
        }
        qDebug() << QString::number(v2,'f',30) << QString::number(v3,'f',30) << QString::number(v4,'f',30);
    }
    
    void roundTest() {
        double v1 = 1.90;
        double v2 = 1.91;
        QString vr1 = QString::number((v1+v2)*0.5,'f',2);
        QString vr2 = QString::number((v1+v2)*0.500000000000000111022302462516,'f',2);
        qDebug() << vr1 << vr2;
    }
    
    #define DOUBLE_HALF 0.500000000000000111022302462516

    Когда-нибудь меня за это побьют

    overloop, 29 Августа 2014

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for (conn_vector::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
        if (*i == conn) {
            m_connections.erase(i);
            toDelete = *i;
            break;
        }
    }

    Да, С++98. Да, в std::find не умеем. Да, сегфолт. Да, моё.

    Elvenfighter, 27 Августа 2014

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for (conn_vector::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
        if (*i == conn) {
            toDelete = *i;
            m_connections.erase(i);
            break;
        }
    }

    Да, С++98. Да, в std::find не умеем. Да, сегфолт. Да, моё.

    Elvenfighter, 27 Августа 2014

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

    +58

    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
    void Model::setPosition(GLfloat x, GLfloat y, GLfloat z) {
            if (m_position == NULL) {
                m_position = (float *) malloc(3 * sizeof(float));
            }
    
            if (m_position != NULL) {
                m_position[0] = x;
                m_position[1] = y;
                m_position[2] = z;
            }
        }
    
        void Model::setRotate(GLfloat x, GLfloat y, GLfloat z) {
            if (m_rotate == NULL) {
                m_rotate = (float *) malloc(3 * sizeof(float));
            }
    
            if (m_rotate != NULL) {
                m_rotate[0] = x;
                m_rotate[1] = y;
                m_rotate[2] = z;
            }
        }

    http://code.google.com/p/forget3d/
    Во первых, умиляет умение людей взяв современный супернавороченый удобный автомат, вместо того чтоб нажать на курок и выстрелить в противника, взять этот автомат наперевес как дубинку, и идти им пиздить противника по голове. Я о сишке, слегка прикрытой крестами.
    И во вторых, этот код при недостатке памяти просто нифига не делает, что чревато непонятками - вроде и повертел модель, вроде и подвинул, а оно никак не вертится и не двигается.

    Pythoner, 27 Августа 2014

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