Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практическая работа №1

.pdf
Скачиваний:
0
Добавлен:
24.01.2025
Размер:
852.26 Кб
Скачать

Приложение В

Сортировка обменом

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