1. C# / Говнокод #5295

    +123

    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
    //1.    Реализовать с помощью персептронов распознавание изображений букв, заданных в виде матриц (4x4, 8x8 или др.). 
    //Набор букв для распознавания определяется фамилией студента (‘Иванов‘ = ‘И‘, ‘В‘, ‘А‘, ‘Н‘, ‘О‘).
    //Выполнить в виде сети из одного слоя. Необходимо выполнить обучение сети на требуемый набор букв. 
    namespace lab1_1
    {
        class Program
    	{
    		 static int[,] wRe = new int[5,25] { 
    			{1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1 },
    			{1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1 }, ...
    		};
    ...
    		///  Дельта обучение 
    		static int delta()
    		{
    			bool p = true;
    			while (p){
    				p = false;
    				int yRes1 = 0, yRes2 = 0, yRes3 = 0, yRes4 = 0, yRes5 = 0;
    				if ((y[0, 0] == 1) && (y[0, 1] == 0) && (y[0, 2] == 0) && (y[0, 3] == 0) && (y[0, 4] == 0)) yRes1 = 1;
    				if ((y[1, 0] == 0) && (y[1, 1] == 1) && (y[1, 2] == 0) && (y[1, 3] == 0) && (y[1, 4] == 0)) yRes2 = 1;
    ....
     
    				for (int i = 0; i < 25; i++) w[i]=wRe[0, i];
    					// суматоры 
    				int s1 = b[0] + w[0] * iBukva[0, 0] + w[1] * iBukva[0, 1] + w[2] * iBukva[0, 2] + w[3] * iBukva[0, 3] + w[4] * iBukva[0, 4] +
    					w[5] * iBukva[1, 0] + w[6] * iBukva[1, 1] + w[7] * iBukva[1, 2] + w[8] * iBukva[1, 3] + w[9] * iBukva[1, 4] +
    ....
    				 t1 = s1 < fi ? 0 : 1;
    				int yResT1 = 0;
    				if ((t1 == 1) && (t2 == 0) && (t3 == 0) && (t4 == 0) && (t5 == 0)) yResT1 = 1;
    				// первая буква
    				if ((yRes1 != yResT1) && (yRes1 == 0))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (iBukva[i, j] == 1) w[5 * i + j]--;
    					b[0]--;
    					p = true;
    				}
    				 if ((yRes1 != yResT1) && (yRes1 == 1))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (iBukva[i, j] == 1) w[5 * i + j]++;
    					b[0]++;
    					p = true;
    				}
    				 for (int i = 0; i < 25; i++) wRe[0, i] = w[i];
     
    				for (int i = 0; i < 25; i++) w[i] = wRe[1, i];
    				int s2 = b[1] + w[0] * vBukva[0, 0] + w[1] * vBukva[0, 1] + w[2] * vBukva[0, 2] + w[3] * vBukva[0, 3] + w[4] * vBukva[0, 4] +
    					w[5] * vBukva[1, 0] + w[6] * vBukva[1, 1] + w[7] * vBukva[1, 2] + w[8] * vBukva[1, 3] + w[9] * vBukva[1, 4] +
    ...
    				 t2 = s2 < fi ? 0 : 1;
    				int yResT2 = 0;
    				if ((t1 == 0) && (t2 == 1) && (t3 == 0) && (t4 == 0) && (t5 == 0)) yResT2 = 1;
    				//вторая буква
    				if ((yRes2 != yResT2) && (yRes2 == 0))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (vBukva[i, j] == 1) w[5 * i + j]--;
    					b[1]--;
    					p = true;
    				}
    				 if ((yRes2 != yResT2) && (yRes2 == 1))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (vBukva[i, j] == 1) w[5 * i + j]++;
    					b[1]++;
    					p = true;
    				}
    				 for (int i = 0; i < 25; i++) wRe[1, i] = w[i];
     
    				for (int i = 0; i < 25; i++) w[i] = wRe[2, i];
    				int s3 = b[2] + w[0] * aBukva[0, 0] + w[1] * aBukva[0, 1] + w[2] * aBukva[0, 2] + w[3] * aBukva[0, 3] + w[4] * aBukva[0, 4] +
    					w[5] * aBukva[1, 0] + w[6] * aBukva[1, 1] + w[7] * aBukva[1, 2] + w[8] * aBukva[1, 3] + w[9] * aBukva[1, 4] +
    					w[10] * aBukva[2, 0] + w[11] * aBukva[2, 1] + w[12] * aBukva[2, 2] + w[13] * aBukva[2, 3] + w[14] * aBukva[2, 4] +
    					w[15] * aBukva[3, 0] + w[16] * aBukva[3, 1] + w[17] * aBukva[3, 2] + w[18] * aBukva[3, 3] + w[19] * aBukva[3, 4] +
    					w[20] * aBukva[4, 0] + w[21] * aBukva[4, 1] + w[22] * aBukva[4, 2] + w[23] * aBukva[4, 3] + w[24] * aBukva[4, 4];
    ...

    qbasic, 16 Января 2011

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

    +116

    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
    namespace tickets
        {
            class ticket
            {
                int ticket_num; // номер билета
                int[] digit_mas = new int[6]; // массив циф номера билета
                int i = 5;
                bool repletion; // если значение превысило 999999 - то истина
                int divizor = 10; // делитель (для розбивания числа на цифры)
                int pre_divizor = 1; // предидущий делитель
                int pre_digit; // предидущая цифра
                int happy_TK_amount; // количество "счастливых" билетов
                public ticket(int num_of_ticket)
                {
                    if (num_of_ticket < 1000000 & num_of_ticket >= 100000)
                        ticket_num = num_of_ticket;
                    else
                        Console.WriteLine("out of range");
                }
                public void crash_num() // разбиваем число на цифры  
                {
                    if (i >= 0)
                    {
                        digit_mas[i] = (ticket_num % divizor - pre_digit) / pre_divizor; // от остачи от деления на порядок , вычетаем предидущю цифру , и делим на предидущий порядок - получаем цифру определённого порядка числа 
                        pre_divizor = divizor;
                        pre_digit = digit_mas[i];
                        divizor = divizor * 10;
                        i--; // пишем в обратном порядке , для правильной записи последовательности цифер
                        crash_num();
                    }
                }
                public void echo_digits()
                {
                    for (i = 0; i <= 5; i++)
                    {
                        Console.Write(digit_mas[i]);
                    }
                }
                public void happy_ticket() // щитает количество "счастливых" билетов
                {
                    for (repletion = false; repletion != true; )
                    {
                        if (digit_mas[0] + digit_mas[1] + digit_mas[2] == digit_mas[3] + digit_mas[4] + digit_mas[5]) // проверяет билет на предмет "счастливости"
                        {
                            happy_TK_amount++;
                        }
                        i = 5;
                        num_increase();
                    }
                    Console.WriteLine("there are " + happy_TK_amount + " happy tickets");
                }
                public void num_increase() // увеличивает номер билета на 1 
                {
                    if (i >= 0)
                    {
                        digit_mas[i]++;
                        if (digit_mas[i] == 10)
                        {
                            digit_mas[i] = 0;
                            if (digit_mas[0] == 0)
                                repletion = true;
                            else
                                i--; // уменшаем индекс , для движения от младшего - к старшему разряду 
                            num_increase();
                        }
                    }
                }
            }

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

    подскажите плз , есть ли (естественно есть) , где и какое у меня какашкэ в коде , а то проверять меня некому , а индусом стать не хочу
    ЗЫ а вообше , здесь можно так делать (просить проверить )

    WJIRIIA, 16 Января 2011

    Комментарии (33)
  3. PHP / Говнокод #5293

    +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
    /* Draw the legend of the active series */
       function drawLegend($X,$Y,$Format="")
        {
         $Family	= isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
    ...
         $Mode	= isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
         if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
         $YStep = max($this->FontSize,$BoxHeight) + 5;
         $XStep = $BoxWidth + 5;
         $XStep = $XSpacing;
         $Data = $this->DataSet->getData();
         $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
         foreach($Data["Series"] as $SerieName => $Serie)
          {
           if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
            {
             if ( $Mode == LEGEND_VERTICAL )
              {
               $BoxArray = $this->getTextBox($vX+$BoxWidth+4,$vY+$BoxHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
               if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxHeight/2; }
               if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
               if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxHeight/2; }
               $Lines = preg_split("/\n/",$Serie["Description"]);
               $vY = $vY + max($this->FontSize*count($Lines),$BoxHeight) + 5;
              }
             elseif ( $Mode == LEGEND_HORIZONTAL )
              {
               $Lines = preg_split("/\n/",$Serie["Description"]);
               $Width = "";
               foreach($Lines as $Key => $Value)
                {
                 $BoxArray = $this->getTextBox($vX+$BoxWidth+6,$Y+$BoxHeight/2+(($YStep-3)*$Key),$FontName,$FontSize,0,$Value);
                 if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxHeight/2; }
                 if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
                 if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxHeight/2; }
                 $Width[] = $BoxArray[1]["X"];
                }
               $vX=max($Width)+$XStep;
              }
            }
          }
         $vY=$vY-$YStep; $vX=$vX-$XStep;
         $TopOffset  = $Y - $Boundaries["T"];
         if ( $Boundaries["B"]-($vY+$BoxHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxHeight+$TopOffset; }
         if ( $Style == LEGEND_ROUND )      $this->drawRoundedFilledRectangle(...);
         elseif ( $Style == LEGEND_BOX )  $this->drawFilledRectangle(...);
         $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
         foreach($Data["Series"] as $SerieName => $Serie)
          {
           if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
            {
             $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"];
             $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
             if ( $Family == LEGEND_FAMILY_BOX )
    
          }
         $this->Shadow = $RestoreShadow;
        }

    Наша либа, которая рисует графики: функция рисующая легенду.

    jdmien, 16 Января 2011

    Комментарии (3)
  4. JavaScript / Говнокод #5292

    +174

    1. 1
    if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("D Index"); titleBar_setSubNav(false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false);}

    Разбирал генератор документации, нашлось вот...

    wvxvw, 16 Января 2011

    Комментарии (3)
  5. PHP / Говнокод #5291

    +167

    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
    class country extends baza
    {
    ......
    function show_description($country=NULL)
    {
        if ($this instanceof country)
            $quest="SELECT description FROM countries WHERE name=\"$this->name"";
        if ($this instanceof city) // йобаный стыд!!! 0_0
            $quest="SELECT description FROM cities WHERE name\"$this->name\" AND country=\"$country\" ";
    ......
    }
    
    class city extends country
    .....

    предок "country" знает о потомке "city"

    Говнокод из говнокнижки Елены Бенкен "PHP, MySQL, XML Программирование для интернета" БХВ-Петербург,ISBN 5-9775-0039-4 страница 209

    StriderMan, 16 Января 2011

    Комментарии (65)
  6. bash / Говнокод #5290

    −135

    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
    #!/bin/bash
    
    clear;
    handle_terminate() {
        echo "(received signal) $1
    
    Interrupted, cleaning up." >&2
        cleanup
        cleanup_finish
        $0;
        exit 255
    }
    
    trap handle_terminate 9 1 2 3 15 17 19 23 18 20 24
    y=0;
    x=0;
    num=0;
    for((i=0;i<=9;i++)){
    for((j=0;j<=190;j++)){
      tput cup $x $y
      echo "-"
      let "y=j";
    };
      let "x=x+5";
      y=0;
    };
    
    y=0;
    x=0;
    for((i=0;i<=38;i++)){
    for((j=0;j<=46;j++)){
      tput cup $y $x
      echo "|"
      let "y=j";
    };
      let "x=x+10";
      y=0;
    };
    kill -9 $$
    while :
    do
        sleep 1s;
    done
    exit 0

    Сеточка

    AliceGoth, 15 Января 2011

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

    +162

    1. 1
    $text = preg_replace("#<a(.*?)\/a>|(h.*?:\/\/)?([a-z0-9- .]+\.[a-z ]*)#si","",$text);

    Регулярное выражение, задача которого уничтожить все существующие ссылки на сторонние сайты содержащиеся в переменной $text
    Друг посчитал, что коду место на этом ресурсе :)

    wowerwower, 15 Января 2011

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

    +136

    1. 1
    Все Лучший Сток Глупый поиск Наговнокодить! Отзывы

    Иногда говнокод находится перед самыми глазами :)
    Коли ставишь автоопределение кодировки - реформал кажет предложения на русском, а надпись отзывы и заголовок окна превращаются в Говнокод.СЂСѓ: РїРѕ колено РІ РєРѕРґРµ.
    Коли ставишь православный UTF-8 - с вижу все верно, а жмешь на отзывы и лицезреешь ��� ��������� 104 ����.
    Когда корабли бороздят просторы Вселенной - мы до сих пор не может устаканиться с кодировками.
    Может ну его, и как раньше кнопочки на сайте - Windows-1251, Mac, Koi-8 и Iso :)

    7ion, 15 Января 2011

    Комментарии (67)
  9. Си / Говнокод #5287

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int getRandomNumber()
    {
        return 4;   // chosen by fair dice roll.
                    // guaranteed to be random.
    }

    Sony PlayStation 3
    http://www.youtube.com/watch?v=LP1t_pzxKyE (4:13)

    Altravert, 15 Января 2011

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

    +181

    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
    void MultipleSquareMatrix(Matrix*rres, Matrix*mul1, Matrix* mul2)
    {	
    	int N = mul1->height();
    	Matrix rmul1(N,N);
    	Matrix rmul2(N,N);
    
    	#define SM (CLS / sizeof (double))
    
    	for (i = 0; i < N; i += SM)
    		for (j = 0; j < N; j += SM)
    			for (k = 0; k < N; k += SM)
    				for (i2 = 0, rres = &res[i][j],
    					  rmul1 = &mul1[i][k]; i2 < SM;
    					++i2, rres += N, rmul1 += N)
    					for (k2 = 0, rmul2 = &mul2[k][j];
    						k2 < SM; ++k2, rmul2 += N)
    						for (j2 = 0; j2 < SM; ++j2)
    							rres[j2] += rmul1[k2] * rmul2[j2];
    }

    Перемножение квадратных матриц.....

    nsa_a1, 15 Января 2011

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