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

    +113

    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
    protected override void Draw(GameTime gameTime)
    {
        graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
    	
        //Новый массив матриц размером, соответствующим количеству костей в скелете модели
        Matrix[] absoluteTransformations = new Matrix[pen.Bones.Count];
    	
        //Скопировать матрицы трансформации костей в массив матриц
        pen.CopyAbsoluteBoneTransformsTo(absoluteTransformations);
    
        foreach (ModelMesh mesh in pen.Meshes)
        {
            foreach (BasicEffect effect in mesh.Effects)
            {
                effect.LightingEnabled = true;
                effect.EnableDefaultLighting();
                effect.Projection = projMatrix;
                effect.View = viewMatrix;
    
                //Установим новую мировую матрицу для родительской кости текущей сети
                //Так же здесь мы уменьшаем модель, применяя коэффициент масштабирования 0,13
                effect.World = absoluteTransformations[mesh.ParentBone.Index] * Matrix.CreateScale(0.13f);
            }
            //Выводим подготовленную сеть
            mesh.Draw();
        }
        base.Draw(gameTime);
    }

    костная анимация в XNA

    Kornew, 24 Января 2011

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    int type = int.Parse(r.Cells[3].Value.ToString());
    if (type == 1 || type == 3 || type == 5 || type == 6 || type == 7) type--;
    else if (type == 4) type = 2;
    else if (type == 666) type = 3;

    Парсим данные из XLS-файла.

    Kirinyale, 21 Января 2011

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

    +116

    1. 1
    var content = (IContent) null;

    Я бы до такого не додумался...

    fr0mrus, 18 Января 2011

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

    +133

    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
    Как вам вот такой вот класс...
    
    public static class TypeFromString
        {
            public static Type FindTypeFromString(string s)
            {
                Assembly mainAssembly = Assembly.GetExecutingAssembly();
                return Type.GetType(s);
            }
        }
    
    ... и его использование.
    TypeFromString.FindTypeFromString(typeof (...).ToString())

    сверхконцептуально!

    tubus, 17 Января 2011

    Комментарии (8)
  5. 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)
  6. 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)
  7. C# / Говнокод #5270

    +120

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public static string GetRedirectUrl(string userName, bool createPersistentCookie)
    {
        if (userName == null)
        {
            return null;
        }
        return GetReturnUrl(true);
    }

    из рефлектора, класс FormsAuthentication
    ахеренная роль у параметров userName и createPersistentCookie

    Semargl, 13 Января 2011

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

    +134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private static void GetUserData(User user)
        {
            if (user == null)
                return;
    
            var firm = user.Firm;
    
            if (firm == null)
                return;
        }

    Бессмысленно и беспощадно.

    Gizz, 13 Января 2011

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

    +127

    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
    public IQueryable<AuditEntry> ViewAudit()
    {
    	var items = _operationEntities.AuditItems.AsQueryable();
    
    	return items.Select((item) => new AuditEntry()
    	{
    		OperationID = item.Id,
    		CreationTime = item.CreationTime,
             
    		Description = item.AuditItemType.StringFormat.Replace(
    			"{0}", item.InsertionStrings.Where((x) => x.StringId == 0).Select((x) => x.String).FirstOrDefault() ?? String.Empty).Replace(
    			"{1}", item.InsertionStrings.Where((x) => x.StringId == 1).Select((x) => x.String).FirstOrDefault() ?? String.Empty).Replace(
    			"{2}", item.InsertionStrings.Where((x) => x.StringId == 2).Select((x) => x.String).FirstOrDefault() ?? String.Empty).Replace(
    			"{3}", item.InsertionStrings.Where((x) => x.StringId == 3).Select((x) => x.String).FirstOrDefault() ?? String.Empty).Replace(
    			"{4}", item.InsertionStrings.Where((x) => x.StringId == 4).Select((x) => x.String).FirstOrDefault() ?? String.Empty).Replace(
    			"{5}", item.InsertionStrings.Where((x) => x.StringId == 5).Select((x) => x.String).FirstOrDefault() ?? String.Empty).Replace(
    			"{6}", item.InsertionStrings.Where((x) => x.StringId == 6).Select((x) => x.String).FirstOrDefault() ?? String.Empty).Replace(
    			"{7}", item.InsertionStrings.Where((x) => x.StringId == 7).Select((x) => x.String).FirstOrDefault() ?? String.Empty),
                    
    		CreatedBy = item.CreatedBy,
    		OperationType = item.AuditItemType.MessageType.Name,
    		OperationCategory = item.AuditItemType.AuditCategory.Name,
    	});
    }

    Паровозик. Реализация string.Format() в виде linq-запроса

    _volt, 13 Января 2011

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

    +119

    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
    public enum PageType
    {
        Default,
        Billing,
        UserCabinet
    }
    
    public PageType GetPageType(int code)
    {
         if(code == 1){return PageType.Default;}
         if(code == 2){return PageType.Billing;}
         if(code == 3){return PageType.UserCabinet;}
         return PageType.Default;
    }
    
    private int PageType
    {
        get
        {
                int page;
                Int32.TryParse(Request["page"], out page);
                return page;
        }
    }

    Думаю что объяснять тут ничего не нужно...

    Arnezami, 13 Января 2011

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