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