1. Список говнокодов пользователя FMB

    Всего: 11

  2. C++ / Говнокод #19759

    +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
    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
    // TODO: Refactor to one call of 'refineIndexes'
      std::vector<float32_t> *refined_left_1_3 = rec.refineIndexes(LEFT_CHANNEL, std::get<1>(p_l1) * ATT_3dB, INTERP_LINEAR, CROSS_RISE);
      std::vector<float32_t> *refined_right_1_3 = rec.refineIndexes(RIGHT_CHANNEL, std::get<1>(p_r1) * ATT_3dB, INTERP_LINEAR, CROSS_RISE);
      std::vector<float32_t> *refined_left_1_6 = rec.refineIndexes(LEFT_CHANNEL, std::get<1>(p_l1) * ATT_6dB, INTERP_LINEAR, CROSS_FALL);
      std::vector<float32_t> *refined_right_1_6 = rec.refineIndexes(RIGHT_CHANNEL, std::get<1>(p_r1) * ATT_6dB, INTERP_LINEAR, CROSS_FALL);
      std::vector<float32_t> *refined_left_2_3 = rec.refineIndexes(LEFT_CHANNEL, std::get<1>(p_l2) * ATT_3dB, INTERP_PARABOLIC, CROSS_RISE);
      std::vector<float32_t> *refined_right_2_3 = rec.refineIndexes(RIGHT_CHANNEL, std::get<1>(p_r2) * ATT_3dB, INTERP_PARABOLIC, CROSS_RISE);
      std::vector<float32_t> *refined_left_2_6 = rec.refineIndexes(LEFT_CHANNEL, std::get<1>(p_l2) * ATT_6dB, INTERP_PARABOLIC, CROSS_FALL);
      std::vector<float32_t> *refined_right_2_6 = rec.refineIndexes(RIGHT_CHANNEL, std::get<1>(p_r2) * ATT_6dB, INTERP_PARABOLIC, CROSS_FALL);
      
      bool exists_att_3dB = refined_left_1_3->size() > 0 && refined_right_1_3->size() > 0 && refined_left_2_3->size() > 0 && refined_right_2_3->size() > 0;
      bool exists_att_6dB = refined_left_1_6->size() > 0 && refined_right_1_6->size() > 0 && refined_left_2_6->size() > 0 && refined_right_2_6->size() > 0;
    
      if (exists_att_3dB || exists_att_6dB)  {
        float32_t rdTOA_l_3, rdTOA_r_3, rdBW_3, rdSW_3, rdTOA_l_6, rdTOA_r_6, rdBW_6, rdSW_6;
        if (exists_att_3dB && !exists_att_6dB) {
          rdTOA_l_6 = rdTOA_l_3 = refined_left_2_3->back() - refined_left_1_3->front();
          rdTOA_r_6 = rdTOA_r_3 = refined_right_2_3->back() - refined_right_1_3->front();
          rdBW_6 = rdBW_3 = refined_left_2_3->back() - refined_right_2_3->back();
          rdSW_6 = rdSW_3 = refined_left_1_3->front() - refined_right_1_3->front();
        } 
        else if (!exists_att_3dB && exists_att_6dB) {
          rdTOA_l_6 = rdTOA_l_3 = refined_left_2_6->back() - refined_left_1_6->front();
          rdTOA_r_6 = rdTOA_r_3 = refined_right_2_6->back() - refined_right_1_6->front();
          rdBW_6 = rdBW_3 = refined_left_2_6->back() - refined_right_2_6->back();
          rdSW_6 = rdSW_3 = refined_left_1_6->front() - refined_right_1_6->front();
        }
        else {
          rdTOA_l_3 = refined_left_2_3->back() - refined_left_1_3->front();
          rdTOA_r_3 = refined_right_2_3->back() - refined_right_1_3->front();
          rdBW_3 = refined_left_2_3->back() - refined_right_2_3->back();
          rdSW_3 = refined_left_1_3->front() - refined_right_1_3->front();
          rdTOA_l_6 = refined_left_2_6->back() - refined_left_1_6->front();
          rdTOA_r_6 = refined_right_2_6->back() - refined_right_1_6->front();
          rdBW_6 = refined_left_2_6->back() - refined_right_2_6->back();
          rdSW_6 = refined_left_1_6->front() - refined_right_1_6->front();
        }
        float32_t rdTOA_l = (rdTOA_l_3 + rdTOA_l_6) / 2f;
        float32_t rdTOA_r =(rdTOA_r_3 + rdTOA_r_6) / 2f;
        float32_t rdBW = (rdBW_3 + rdBW_6) / 2f;
        float32_t rdSW = (rdSW_3 + rdSW_6) / 2f;
    
        //TODO: Watch for group delay compensation!
        float32_t rdeltaTOA = (rdTOA_l + rdTOA_r - 2 * groupDelay) / (2.0 * AUDIO_SAMPLE_RATE_EXACT);
        float32_t rdeltaBlastWave = rdBW / AUDIO_SAMPLE_RATE_EXACT;
        float32_t rdeltaShockWave = rdSW / AUDIO_SAMPLE_RATE_EXACT;
        //..................................................
      if (sd_init_status == SD_OK && current_settings.log) logFile.close();
    
      refined_left_1_3->clear();
      refined_right_1_3->clear();
      refined_left_2_3->clear();
      refined_right_2_3->clear();
      refined_left_1_6->clear();
      refined_right_1_6->clear();
      refined_left_2_6->clear();
      refined_right_2_6->clear();
    
      delete refined_left_1_3;
      delete refined_right_1_3;
      delete refined_left_2_3;
      delete refined_right_2_3;
      delete refined_left_1_6;
      delete refined_right_1_6;
      delete refined_left_2_6;
      delete refined_right_2_6;

    50 часов без сна... Чувствую я пожалею завтра о том, что сегодня это написал.

    FMB, 06 Апреля 2016

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

    +122

    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
    static void Main(string[] args)
    {
        int count = 4096;
        int w = int.MaxValue / count;
        int h = 10;
        int argb = 0;
        Directory.CreateDirectory("test");
        for (int bj = 0; bj < count; ++bj)
        {
            Console.WriteLine("Processing bitmap #{0} of {1}...\t{2,3}%",
                              bj + 1, count, (int)(100f * ((float)(bj + 1) / (float)count)));
            using (Bitmap bmp = new Bitmap(w, h))
            {
                Console.Write("Done   0%");
                using (Graphics gr = Graphics.FromImage(bmp))
                    for (int x = 0; x < w; ++x, argb++)
                    {
                         gr.DrawLine(new Pen(Color.FromArgb(argb)), x, 0, x, h);
                         Console.Write("\b\b\b\b{0,3}%", (int)(100f * ((float)(x + 1) / (float)w)));
                    }
                    Console.Write("\nSaving bitmap...\n{0}", new string('-', 80));
                    bmp.Save(string.Format("test\\#{0}.bmp", bj + 1), ImageFormat.Bmp);
            }
        }
    }

    Если Вам нечего делать и есть лишние 80 гигов на харде...

    FMB, 24 Марта 2011

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

    +134

    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
    /// <summary>
            /// попытка парсинга потока в bool {true,false,1,0} поддерживатеся любой регистр 
            /// </summary>
            /// <param name="lpwcstr">указатель текущую позицию потока</param>
            /// <param name="result">результат</param>
            /// <returns>см. ParseSucces</returns>
            static public ParseSuccess TryParse(ref char* lpwcstr, out bool result)
            {
                char* cur = lpwcstr;
            to_begin:
                switch (*cur++)
                {
                    case ' ':
                    case '\t':
                    case '\n':
                    case '\r':goto to_begin;
                    case '0': lpwcstr = cur; goto to_fail;
                    case '1': lpwcstr = cur; result = true; return ParseSuccess.Success;
                    case 't':
                    case 'T':
                        switch (*cur++)
                        {
                            case 'r':
                            case 'R': switch (*cur++)
                                {
                                    case 'u':
                                    case 'U': switch (*cur++)
                                        {
                                            case 'e':
                                            case 'E': lpwcstr = cur; result = true; return ParseSuccess.Success;
                                            default: result = false; return (ParseSuccess)(lpwcstr - cur + 1);
                                        }
                                    default: goto to_fail;
                                }
                            default: goto to_fail;
                        }
                    case 'f':
                    case 'F': switch (*cur++)
                        {
                            case 'a':
                            case 'A': switch (*cur++)
                                {
                                    case 'l':
                                    case 'L': switch (*cur++)
                                        {
                                            case 's':
                                            case 'S': switch (*cur++)
                                                {
                                                    case 'e':
                                                    case 'E': lpwcstr = cur; result = false; return ParseSuccess.Success;
                                                    default: goto to_fail;
                                                }
                                            default: goto to_fail;
                                        }
                                    default: goto to_fail;
                                }
                            default: goto to_fail;
                        }
                    default: goto to_fail;
                }
            to_fail:
                result = false; 
                return (ParseSuccess)(lpwcstr - cur + 1);
            }

    FMB, 23 Марта 2011

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

    +107

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    static void Main(string[] args)
            {
                int a = int.Parse(Console.ReadLine());
                int b = int.Parse(Console.ReadLine());
                int c = int.Parse(Console.ReadLine());
                Math.Cos(double x) = (b * b + c * c - a * a) / (2 * b * c);
                Math.Cos(double x)=i;
                if(-1>i>0) Console.WriteLine("Треугольник тупоугольный");
                if()
            }

    Не столько смешно, сколько хочется плакать от тупоугольности таких вот студентов...

    FMB, 20 Марта 2011

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

    +128

    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
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                int x = Convert.ToInt32(comboBox1.Text);
                switch (x)
                {
                    case  2: textBox1.Visible=true;
                        textBox2.Visible = true;
                        textBox3.Visible = false;
                        textBox4.Visible = false;
                        textBox5.Visible = false;
                        textBox6.Visible = false;
                        textBox7.Visible = false;
                        textBox8.Visible = false;
                        textBox9.Visible = false;
                        textBox10.Visible = false;
                        break;
                    case 3:
                        textBox1.Visible = true;
                        textBox2.Visible = true;
                        textBox3.Visible = true;
                        textBox4.Visible = false;
                        textBox5.Visible = false;
                        textBox6.Visible = false;
                        textBox7.Visible = false;
                        textBox8.Visible = false;
                        textBox9.Visible = false;
                        textBox10.Visible = false;
                        break;
    
    //и так до 10
    //...
    
            private void button1_Click(object sender, EventArgs e)
            {
                double p1 = 1 / Convert.ToDouble(textBox1.Text);
                double p2 = 1 / Convert.ToDouble(textBox2.Text);
                double p3 = 1 / Convert.ToDouble(textBox3.Text);
                double p4 = 1 / Convert.ToDouble(textBox4.Text);
                double p5 = 1 / Convert.ToDouble(textBox5.Text);
                double p6 = 1 / Convert.ToDouble(textBox6.Text);
                double p7 = 1 / Convert.ToDouble(textBox7.Text);
                double p8 = 1 / Convert.ToDouble(textBox8.Text);
                double p9 = 1 / Convert.ToDouble(textBox9.Text);
                double p10 = 1 / Convert.ToDouble(textBox10.Text);
                double inv;
                
                
                int x = Convert.ToInt32(comboBox1.Text);
                switch (x)
                {
                    case 2:
                        inv=(1/p1+1/p2);
                        break;
                    case 3:
                        inv = ((1 / p1) + (1 / p2)+(1/p3));
                        break;
                    case 4:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3)+(1/p4));
                        break;
                    case 5:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4)+(1/p5));
                        break;
                    case 6:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5)+(1/p6));
                        break;
                    case 7:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7));
                        break;
                    case 8:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8));
                        break;
                    case 9:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8) + (1 / p9));
                        break;
                    case 10:
                        inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8) + (1 / p9) + (1 / p10));
                        break;
     
                        double rez = 1 / inv;
                        textBox11.Text = Convert.ToString(rez);
                }
            }

    FMB, 16 Марта 2011

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

    +108

    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
    class Matrix
    {
        double[,] matrix;
        int rows, columns;
    
        // Не вызывается до закрытия приложения
        ~Matrix()
        {
            Console.WriteLine("Finalize");
        }
    
        public Matrix(int sizeA, int sizeB)
        {
            rows = sizeA;
            columns = sizeB;
            matrix = new double[sizeA, sizeB];
        }
    
        // Индексатор для установки/получения элементов внутреннего массива
        public double this[int i, int j]
        {
            set { matrix[i,j] = value; }
            get { return matrix[i,j]; }
        }
    
        // Возвращает число строк в матрице
        public int Rows
        {
            get { return rows; }
        }
    
        // Возвращает число столбцов в матрице
        public int Columns
        {
            get { return rows; }
        }
    
    }

    Нашёл в статье из MSDN'а

    FMB, 10 Июля 2010

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

    +118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void isCollideWith(gObj obj, ref bool xCollision, ref bool yCollision)
    {
    	xCollision = (obj.bounds.Top <= this.bounds.Center.Y && this.bounds.Center.Y <= obj.bounds.Bottom) &&
        		     (obj.bounds.Top > this.bounds.Top && obj.bounds.Top < this.bounds.Bottom) ||
    		     (obj.bounds.Bottom > this.bounds.Top && obj.bounds.Bottom < this.bounds.Bottom);
    	yCollision = (obj.bounds.Left <= this.bounds.Center.X && this.bounds.Center.X <= obj.bounds.Right) &&
    		     (obj.bounds.Left > this.bounds.Left && obj.bounds.Left < this.bounds.Right) ||
    		     (obj.bounds.Right > this.bounds.Left && obj.bounds.Right < this.bounds.Right);
    }

    Вот так я проверяю произошло ли столкновения двух(obj и this) прямоугольных объектов.

    FMB, 08 Июля 2010

    Комментарии (9)
  9. Куча / Говнокод #3573

    +77

    1. 1
    2. 2
    Уважаемый striker, прошу Вас(и наверное не только я) забанить всех вебкилов которые здесь есть, а то они
    уже задолбали тем срачем который разводят в комментариях.

    FMB, 26 Июня 2010

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

    +120

    1. 1
    2. 2
    3. 3
    4. 4
    public static bool GetUpperBit(long number)
    {
       return number < 0;
    }

    Да это не ГК, но остроумный способ получить верхний бит числа.

    FMB, 25 Мая 2010

    Комментарии (38)
  11. Куча / Говнокод #3204

    +131

    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
    #include <default.inc>
    
    var a:float=0.0;
    var b:float=0.0;
    var c:float=0.0;
    var d:float=0.0;
    var x1:float=0.0;
    var x2:float=0.0;
    
    ::no
    	write 'Enter A: ';
    	in a;
    	write 'Enter B: ';
    	in b;
    	write 'Enter C: ';
    	in c;
    	write '$a*x^2+$b*x+c=0	[y/n]: ';
    	var s:string='';
    	string readline(s);
    	if eq(s, 'y') yes : no;
    	::yes
    	math d='b*b-4*a*c';
    	
    if eq(d, 0) dzero : dnzero;
    if low(d, 0) dex;
    
    ::dzero
    	math x1='(-b)/(2*a)';
    	writeln 'X = $x1';
    	jump exit;
    
    ::dnzero
    	math x1='(-b+Math.sqrt(d))/(2*a)';
    	math x2='(-b-Math.sqrt(d))/(2*a)';
    	write 'X1 = $x1		X2 = $x2';
    	jump exit;
    
    ::dex
    	write 'Don`t exist!';
    
    ::exit
    	write 'Repeat? [y/n]';
    	string readline(s);
    	if eq(s, 'y') no;
    	write 'Bye!';
    	call readkey;

    Программа развязывания квадратных уравнений на самодельном ЯП =)
    Да, это не совсем ГК, но тем не менее смешно.
    ЗЫ. В "default.inc" находятся ф-ции "write" и "readkey".

    FMB, 12 Мая 2010

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