Menu

Technical Task

Vladislav Kulakov

Розробники:

Кулаков Владислав (TeamLead)
Прокопович Антон
Ляшок Володимир

Перелік вимог до проекту "Алгоритми сортування"

Проект потрібно реалізувати за допомогою консольного додатку. Він має включати набір класів, які забезпечують реалізацію функціональних вимог, а також функцію main(), що реалізує діалог із користувачем та використовує можливості названих вище класів для демонстрації порівняльної характеристики алгоритмів сортування за трьома ознаками:
1. Час виконання.
2. Кількість порівнянь.
Кількість перестановок.

• Функціональні вимоги:

  1. Клас Time.
    А) Поле duration.
    В) Функції start() та stop().
  2. Клас Statistic.
    А) Поля countOfCompares та countOfReplaces.
    Б) Об’єкт типу Time.
  3. Клас Array.
    А) Поля: вказівник на динамічний масив та його довжина (length).
    Б) Конструктори для ініціалізації об’єкту (1) Випадковими значеннями, (2) існуючим масивом чисел, (3) масивом із файлу.
    В) 6 методів сортування.
    Г) Перевантажені операції квадратних дужок та виводу у потік.
    Д) Клас Iterator з перевантаженими операціями виводу у потік, порівняння, інкременту/декременту, додавання та віднімання.
  4. Функція main(), та допоміжні функції для формування інтерфейсу користувача.

• Нефункціональні вимоги:

  1. Мова розробки Visual C++; IDE Visual Studio 2012/13/15, стандартні бібліотеки C++, Windows.