Сортировка части одномерного массива - 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д