Сортировка части одномерного массива - 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();