Найти значение 3-го по величине элемента - C#

  1. Помогите, пожалуйста!!! Нужен код C#. Объявить массив целых чисел и заполнить его случайными значениями. Размер массива 200,диапазон значений 0-100. При выполнении следует иметь в виду следующее: 1)0 считается положительным числом, если в задании не оговорен какой-то другой его статус; 2)Когда речь идет о какой-то последовательности чисел, имеется в виду последовательность с длиной, большей 1; 3)В тех случаях, когда задание требует выполнения каких-то вычислений, разрешается выполнять их с той точностью, которую обеспечивают операции целочисленной арифметики. Что нужно сделать? Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение.


textual

Код к задаче: «Найти значение 3-го по величине элемента - C#»

        //помещает в N-ю позицию последовательности элемент, который мог бы быть в этой позиции, 
        //если бы последовательность была отсортирована.
        public static void NthElement(T[] a, int n)
        {
            NthElement(a, n, 0, a.Length - 1);
        }
 
        private static void NthElement(T[] a, int n, int l, int r)
        {
            while (l < r)
            {
                int i = Partition(a, l, r);
                if (n <= i)
                    r = i - 1;
                if (n >= i)
                    l = i + 1;
            }
        }
 
       private static int Partition(T[] a, int l, int r)
        {
            int m = l + ((r - l) >> 1);
            Swap(ref a[m], ref a[r - 1]);
            Med3(a, l, r - 1, r);
            int i = l - 1;
            int j = r;
            T v = a[r - 1];
            do
            {
                while (a[++i].CompareTo(v) < 0) ;
                while (v.CompareTo(a[--j]) < 0) ;
                if (i >= j) break;
                Swap(ref a[i], ref a[j]);
            } while (true);
            Swap(ref a[r-1], ref a[i]);
            return i;
        }
 
 private static void Swap(ref T a, ref T b)
        {
            T t = a;
            a = b;
            b = t;
        }
 
        private static void CompareSwap(T[] keys, int a, int b)
        {
            if ((a != b) && (keys[a].CompareTo(keys[b])) > 0)
            {
                T t = keys[a];
                keys[a] = keys[b];
                keys[b] = t;
            }
        }
 
        private static void Med3(T[] a, int l, int m, int r)
        {
            CompareSwap(a, l, m);
            CompareSwap(a, l, r);
            CompareSwap(a, m, r);
        }

СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 4.300 из 5



Похожие ответы
  1. Помогите найти ошибку пытаюсь повторить со статьи. Должно работать а выдает ошибку

  1. Привет, помогите пожалуйста с этим заданием: Нужно сделать через циклы, ввод n с клавиатуры

  1. У меня есть задача: создать программу для вычисления математической формулы. Ввод данных осуществлять в элементы TextBox. При нажатии на кнопку должно выполняться вычисление формулы. Формула вот такая: x = -15,246 y = 4,642* z =20,001* = -182,036 Дело в том, что при вводе в TextBox заданных x,y,z у меня выводится неправильный ответ По формуле вроде все правильно. Вы можете посмотреть код и как-нибудь помочь? Программа прилагается.

  1. Необходимо вычислить значение уравнения, но я в упор не вижу формулы

  1. Имеется двумерный массив(60 строк, 3 столбца) public static string[,] ARRAY = new string[60, 3]; формата: 0.{Вася; 1980, м} 1.{Лена; 1990, ж} ........ 59. {Витя; 1995, м} Как выбрать элемент строки по известному значению этой же строки? Например нам известно имя "Витя", нужно вытащить его дату рождения. Как это сделать?

  1. Вычислите значение выражения, используя циклы с параметром, предусловием, постусловием:

  1. Здравстуйте, есть документ который состоит из таких вот блоков, необходимо циклом искать по тегу gml:name название и менять у него содержимое тега gml:pos. С XML не работал, но вот всплыла такая задачка, заранее спасибо.XML1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23               37.253520 55.906210                         #iconTemplate                                 Объект: Сервис                                           40000009                 Недвижимость                 454354534534545                

                                         

    ОТКЛЮЧЕН


                            щшщввв
                                        Информация: 06 МОН     от 15 мая 2014г; уауауааууауауаауау&;  

  1. Как мне удалить кодом из html файла эту строчку, когда только известно string "Тёмная"?