Помогите с задачей по сортировке
Не могу найти ошибку в прграмме. Мне нужно чтоб пользователь вводил массив, а на выход программа выдавала уже отсортированный массив в порядке убывания. Программа выдает ошибку после ввода элементов. Вот мой код: `
int f, k;
Console.WriteLine("Введите разменость массива: ");
k = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Вводите элементы массива: ");
int[] mass = new int[k];
for (int i = 0; i < mass.Length; i++)
{
mass[i] = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < mass.Length; i++)
{
for (int j = 0; j < mass.Length - 1; j++)
{
f = mass[i];
mass[i] = mass[i + 1];
mass[i + 1] = f;
}
}
Console.WriteLine(mass);
Console.ReadKey();`
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
mass[i + 1]
Здесь вы выходите за границу массива на последней итерации по i, когда i = mass.Length - 1.
Вы никак не используете переменную j, по которой у вас есть цикл.
Кроме того, для сортировки вы должны сравнивать элементы, а не обменивать их местами всегда. Подумайте ещё над алгоритмом. Без сравнения сортировка невозможна.