Сортировка части одномерного массива - C#

Узнай цену своей работы

Формулировка задачи:

Если число x встречается в данной последовательности целых чисел, то упорядочить по неубыванию часть последовательности после первого вхождения x. Не знаю как перезаписать элементы после выбранного числа X, в новый массив. Сортировку сам напишу, подскажите пожалуйста что сейчас не так делаю)
            int kol = 0, g = 0, i;
            Console.Write("введите размерность массива: ");
            int m = Convert.ToInt16(Console.ReadLine());
            int [] mas = new int[m]; 
 
                for (i = 0; i < m; i++)
                {
                    mas[i] = Convert.ToInt16(Console.ReadLine());
                }
 
            Console.Write("Выберите и введите число с массива: ");
            int x = Convert.ToInt16(Console.ReadLine());
 
            for ( i = 0; i < m; i++)
            {
               if(mas[i] == x)
                {
                    kol = mas.Length - i;
                    g = i;
                    break;
                }
             
            }
 
            int[] mas2 = new int[kol];
 
            for (g = i; g < mas2.Length; g++)
            {
             mas2[g] = mas[g];
 
            }
            for (int f = 0; f < mas2.Length; f++)
            {
                Console.WriteLine(mas2[f]);
 
            }
 
            Console.ReadKey();

Решение задачи: «Сортировка части одномерного массива»

textual
Листинг программы
            int[] mas = { 7, 5, 9, 0, 2, -6, 5, 4, 1, 8 };
            Console.Write("Выберите и введите число с массива: ");
            int x = Convert.ToInt16(Console.ReadLine());
            int k;
            for (k = 0; mas[k] != x && k < mas.Length; k++) ;
            for (int i = mas.Length - 1; i > 0; i--)
                for (int j = k + 1; j < i; j++)
                    if (mas[i] < mas[j])
                    {
                        int t = mas[i];
                        mas[i] = mas[j];
                        mas[j] = t;
                    }
            for (int i = 0; i < mas.Length; i++)
                Console.Write(mas[i] + " ");
            Console.WriteLine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы