WinSort: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
Created page with "<pre> namespace WinSort { public partial class frmSort : Form { // Определяем количество элементов в массиве stati..." |
m Protected "WinSort" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 74: | Line 74: | ||
</pre> |
</pre> |
||
[https:// |
[https://wiki.nc.ut.ee/index.php?title=Примеры <<] |
||
Latest revision as of 17:17, 4 September 2022
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();
}
}
}