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

    +142

    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
    public void AllocateMemory(ref int[] segmentSizeProcess)
            {
                int[] difference;
                int j = 0;
                int tempo = 0;
    
                for (int i = 0; i < segmentSizeProcess.Count(); i++)
                {
                    difference = new int[memory.Count]; // храним разность размера блока памяти и требуемого размера для процесса
                    for (int count = 0; count < memory.Count; count++)
                    {
                        difference[count] = -2; // предварительно инициализируем 
                    }
                    for (int count_memory=0; count_memory<memory.Count();
                        count_memory++)
                    {
                        if (memory[count_memory].size - segmentSizeProcess[i] >= 0) // если равно 0, значит 
                        // сегмент полностью распределён
                        {
                            if (!memory[count_memory].isAllocate)
                            { difference[count_memory] = memory[count_memory].size - segmentSizeProcess[i]; }
                            else
                            { difference[count_memory] = -1; } // если сегмент занят - 
                            // то он недоступен
                        }
                    }
                    tempo = GetMinDifference(ref difference); // получаем индекс минимальной разности
                    // если результат "-", значит секторы заняты, выходим из цикла
                    if (difference[tempo] >= 0)
                    {
                        memory.ElementAt(tempo).isAllocate = true; // процесс занял сегмент
                        if (difference[tempo] > 0) // если остаётся фрагмент памяти
                        {
                            CreateDifferenceSegment(difference[tempo]); // создаем новый сегмент, равный
                            // наименьшей разности памяти сегмента и памяти для процесса
                        }
                            memory[tempo].size = segmentSizeProcess[i]; // распределяем память
                    }
                    else
                    {
                        break;
                    }
                }
            }

    Примерная реализация алгоритма best-fit

    qstd, 15 Июня 2015

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

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public class Generator
        {
            private Random R = new Random();
            public Generator() 
            { 
                
            }
            public int GetNumber(int left, int right)
            {
                return R.Next(left, right);
            }
        }

    Полезный класс

    tarasfromgomel, 13 Июня 2015

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

    +143

    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
    System.String origString;
    System.Int32 index;
    System.Console.WriteLine("Введите строку: ");
    origString = System.Console.ReadLine();
    
    System.Int32 length = 0;
    for (int i = 0; i < origString.Length; i++)
        length++;
    
    System.Console.WriteLine("Какую букву вычесть?: ");
    index = System.Console.Read() - 49;
    System.Char[] newString = new System.Char[origString.Length];
    
    for (int i = 0; i < length; i++)
    {
        if (i != index && index != i && i != null && index != null)
        {
            newString[i] = origString[i];   
        }
        if (i == index && index == i && i != null && index != null)
        {
            newString[i] = Convert.ToChar(7);
        }
    }
    
    System.Console.Write("Результат: ");
    
    length = 0;
    for (int i = 0; i < newString.Length; i++)
        length++;
    for(int i = 0; i < length; i++)
        System.Console.Write(newString[i]);
    
    System.Console.ReadLine();
    System.Console.ReadLine();

    Ответ на вопрос на toster.ru
    Как сделать это на c#?
    Вычеркните i-ю букву заданной строки
    https://toster.ru/q/222727

    limited_ed, 06 Июня 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var leftDate = GetAll().Select(i => i.SaveDateTime).OrderBy(i => i).FirstOrDefault();
    var rigthDate = GetAll().Select(i => i.SaveDateTime).OrderByDescending(i => i).FirstOrDefault();
    
    // 1e7 - количество тактов в секунде (а в итоге: проверка разницы в неделю)
    while (rigthDate.Ticks - leftDate.Ticks > 1e7 * 60 * 60 * 24 * 7)
    {
    ....................................
    }

    с точностью до тика.

    andrewiv, 05 Июня 2015

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

    +142

    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
    using (new MPI.Environment(ref args))
                {
                    //Эта программа для MPI. Внешний алгоритм
                    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                    stopwatch.Start();
                    Intracommunicator world = Communicator.world;
                    if (world.Rank == 0)
                    {
                        RightRectangleSubDomain(horror, world);
                        LeftRingSubdomain(dolor, world);
                        world.Barrier();
                        SendArthas(dolor, world);
                        RecvKelthuzad(kelthuzad, world);
                    }
                    if (world.Rank == 1)
                    {
                       LeftRectangleSubDomain(pavor, world);
                       RightRingSubdomain(tristicia, world);
                       world.Barrier();
                       SendKelthuzad(tristicia, world);
                       RecvArthas(arthas, world);
                    }
                    stopwatch.Stop();
                    Console.WriteLine("Elapsed time: {0}", stopwatch.ElapsedMilliseconds);
    
                }

    Очень сильно напугала лабораторная, что отразилось на названиях переменных. Да и сам файл был назван MPITenebris.

    Stubborn, 29 Мая 2015

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

    +142

    1. 1
    2. 2
    3. 3
    return optionsBackButtonCommand ?? ((Func<RelayCommand>)(() =>
                                                         optionsBackButtonCommand = new RelayCommand(param =>
                                                         RandomMethod() )))();

    Сам придумал. "Изящно" обошел использование if.

    mee2xuh, 28 Мая 2015

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

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    string q = DateTime.Now.ToString().Substring(3, 3);
    string w = DateTime.Now.ToString().Substring(0, 2);
    string e = DateTime.Now.ToString().Substring(5, DateTime.Now.ToString().Length - 5);
    string dsasd = q + w + e;
    
    CrmDateTimeProperty _new_date_fitst_update_rstatus = new CrmDateTimeProperty();
    _new_date_fitst_update_rstatus.Name = "new_date_first_update_rstatus";
    _new_date_fitst_update_rstatus.Value = new CrmDateTime();
    _new_date_fitst_update_rstatus.Value.Value = dsasd;
    dynamicEntity.Properties.Add(_new_date_fitst_update_rstatus);

    Попался проект на фрилансе. Попросили исправить ошибки. Начал исправлять и вот такое.

    Shturman, 19 Мая 2015

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

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // ...
    
    Action updatingLoadedItemsList = null;
    
    foreach (Item loadedItem in loadedItems)
        if (loadedItem.Id == currentItem.Id)
            updatingLoadedItemsList = () => loadedItems.RemoveAt(loadedItems.IndexOf(loadedItem));
    
    if(updatingLoadedItemsList != null)
        updatingLoadedItemsList.Invoke();
    	
    // ...

    pushistayapodmyshka, 19 Мая 2015

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

    +141

    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
    private List<string> urls = new List<string>();
    
            private int urls_index = -1;
    
            private ProgressBar pb = new ProgressBar()
            {
                Width = 291,
                Height = 26,
                Maximum = 100,
                Minimum = 0,
                Location = new Point(12, 41)
            };
    
            public Object SyncIndex = new Object();
    
    public void DownLoad(object index)
            {
                int indexwhile = (int) index;
                while (work)
                {
                    int localIndex;
    
                    lock (SyncIndex)
                    {
                        urls_index++;
                        localIndex = urls_index;
                    }
    
                    WebClient webClient = new WebClient();
                    try
                    {
                        webClient.DownloadFile(new Uri(urls[localIndex]), "img/" + localIndex + ".jpg");
                        webClient.DownloadProgressChanged += (s, a) => Invoke(new Action(() => {progressBars[indexwhile].Value = a.ProgressPercentage;})); 
                    }
                    catch (Exception exception)
                    {
                        Invoke(new Action(() =>
                        {
                            listBox2.Items.Add("Ошибка" + listBox1.Items[localIndex]);
                        }));
    
                        DownLoad(index);
                    }
    
                    Invoke(new Action(() =>
                    {
                        listBox1.Items[localIndex] =  "Загружен" + listBox1.Items[localIndex];
                        label1.Text = urls.Count.ToString();
                        richTextBox1.Text += localIndex + @".jpg Загружен" + Environment.NewLine;
                    }));
    
                    Thread.Sleep(500);
    
                }
            }
    
    
    private void button2_Click(object sender, EventArgs e)
            {
                work = true;
    
                Thread[] threads = new Thread[30];
    
                
    
                for (int i = 0; i < 20; i++)
                {
                    int mnoj = i + 1;
                    progressBars[i] = new ProgressBar()
                    {
                        Width = 291,
                        Height = 26,
                        Maximum = 100,
                        Minimum = 0,
                        Location = new Point(12, 41)
                    };
                    progressBars[i].Location = new Point(12, 41 * mnoj);
                    Controls.Add(progressBars[i]);
                    threads[i] = new Thread(DownLoad);
                    threads[i].IsBackground = true;
                    threads[i].Start(i);
                }
            }

    И все в одной форме..

    igorkrets, 14 Мая 2015

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

    +143

    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
    public enum WebViewImageType {
    	Back = 0,
    	Close = 1,
    	Menu = 2
    }		
    
    WebViewImageType GetImageType(int jsType){ 
    	switch (jsType) {
    		case 0:
    			return WebViewImageType.Back;
    		case 1:
    			return WebViewImageType.Close;
    		case 2:
    			return WebViewImageType.Menu;
    		default:
    			return WebViewImageType.Back;
    	}
    }

    kjuby8709gsome, 12 Мая 2015

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