Завдання до лабораторного заняття
- Розробити блок-схему алгоритму розв’язку завдання, згідно свого варіанту.
- Написати код програми для розв’язку поставленого завдання на мові С.
- Оформити звіт по роботі. Звіт повинен містити тему та мету роботи, код написаної програми та блок-схему алгоритму.
Індивідуальне завдання
Написати програму, яка буде здійснювати сортування масиву цілих чисел за допомогою одного з описаних вище методів (крім методу «бульбашки»).
Вхідними даними для програми має бути розмірність масиву.
Заповнення масиву повинно здійснюватися автоматично. Для цього зручно використовувати функцію для генерації псевдовипадкових чисел rand().
Для початку необхідно ініціалізувати генератор випадкових чисел, задати «зерно» (seed), на основі якого в подальшому буде відбуватися генерація:
srand(42);
Важливо, що для одного і того ж початкового значення генератор буде повертати одні і ті ж числа. Для того, щоб при наступному запуску отримати новий набір чисел, потрібно форматувати генератор кожен раз різними значеннями. Наприклад, можна використовувати системний час:
srand (time(NULL));
Приклад програми для генерації випадкових чисел, показано на рис. 5.2:
Рисунок 5.2 – Код програми для генерації чисел та результат її виконання
Для роботи функції rand() нобхідно підключити бібліотеки stdlib.h та time.h (для функції time). В 7 рядку коду (рис. 5.2) відбувається ініціалізація генератора.
Функція rand() генерує числа в діапазоні від 0 до RAND_MAX, значення якого визначене бібліотекою stdlib. Щоб задати, наприклад діапазон від 0 до 100 потрібно знайти остачу від ділення на 100 від значення, яке генерується (рис. 5.2, рядок 9).