
Практическая работа №1
.pdfПриложение В
Сортировка обменом
void FillArray(float[] array, int length) // функчия для заполнения массива слуцайными цислами
{
Random r = new Random(); // Создаем объект Random для генерачии слуцайных цисел for (int i = 0; i < length; i++) // Цикл для заполнения массива
{
array[i] = r.NextSingle() * (-1); // Генерируем слуцайное цисло и умножаем на -1 для полуцения отричательного знацения
}
}
// Метод NextSingle() возвращает слуцайное цисло с плавающей тоцкой от 0.0 до 1.0. void PrintArray(float[] arr, int n)
{
for (int i = 0; i < n; i++) // Цикл для вывода элементов массива
{
Console.Write($"{arr[i]} "); // Вывод каждого элемента массива
}
Console.WriteLine(); // Переход на новую строку после вывода всех элементов
}
void bubble(float[] array, int length)
{
for (int i = 0; i < length - 1; i++) // Внешний чикл для прохода по массиву
{
for (int j = 0; j < length - i - 1; j++) // Внутренний чикл для сравнения соседних элементов
{
if (array[j] > array[j + 1]) // Если текущий элемент больше следующего
{
float temp = array[j]; // Сохраняем текущий элемент во временной
переменной
array[j] = array[j + 1]; // Меняем местами элементы array[j + 1] = temp; // Завершение обмена
}
}
}
}
int n = 20; // Размер массива
float[] arr = new float[n]; // Создание массива с заданным размером FillArray(arr, n); // Заполнение массива слуцайными отричательными цислами Console.WriteLine("Несортированный массив");
PrintArray(arr, n); // Вывод несортированного массива
Console.WriteLine(); Console.WriteLine("Отсортированный массив");
bubble(arr, n); // Сортировка массива пузырьковой сортировкой PrintArray(arr, n); // Вывод отсортированного массива
11