namespace WinSort
{
public partial class frmSort : Form
{
// Определяем количество элементов в массиве
static int ArrSize = 20;
// Создаем массив с заданным выше количеством элементов
static int[] numbers = new int[ArrSize];
public frmSort()
{
InitializeComponent();
}
private void frmSort_Load(object sender, EventArgs e)
{
lblUnSort.Text = "";
lblSort.Text = "";
}
private void btnGenerate_Click(object sender, EventArgs e)
{
lblUnSort.Text = "";
lblSort.Text = "";
Random r = new Random();
// Этот цикл "проходит" по всем элементам массива
for (int i = 0; i < numbers.Length; i++)
{
// Генерируем случайное число и записываем в текущий элемент массива
numbers[i] = r.Next(1, 100);
// lblUnSort.Text = lblUnSort.Text + numbers[i] + " ";
}
// Распечатать несортированный массив
lblUnSort.Text = string.Join(", ", numbers);
}
private void btnSort_Click(object sender, EventArgs e)
{
// Этот цикл повторяется столько раз сколько содержится элементов в массиве
for (int i = 0; i < numbers.Length; i++)
{
/* Этот цикл проходит по всем элементам массива начиная с самого первого,
* сверяет соседние 2 элемента между собой и если первый элемент больше второго, то они меняются местами
*/
for (int j = 0; j < numbers.Length - 1; j++)
{
if (numbers[j] > numbers[j + 1])
{
// Записываем первый элемент массива во временную переменную, чтобы не потерять
int tmp = numbers[j];
// Переписываем первый элемент массива вторым элементом
numbers[j] = numbers[j + 1];
// Восстанавлием значение из временной переменной tmp на место второго элемента
numbers[j + 1] = tmp;
}
}
}
// Распечатать отсортированный массив
lblSort.Text = string.Join(", ", numbers);
}
private void btnExit_Click(object sender, EventArgs e)
{
// Выходим из программы если пользователь нажал кнопку "Выход"
Application.Exit();
}
}
}
<<