Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_rabota_6_условие.docx
Скачиваний:
3
Добавлен:
12.07.2022
Размер:
84.39 Кб
Скачать

2. Нахождение времени работы выполнения программы (или ее части)

Для того, чтобы найти время работы программы, можно воспользоваться функцией clock(). Прототип функции clock() находится в заголовочном файле <ctime>, который нужно подключить.

Функция clock() возвращает значение времени в миллисекундах (1 с = 1000 мс). Причём отсчёт времени начинается с момента запуска программы. Если надо измерить работу всей программы, то в конце программы, перед оператором return 0 нужно запустить функцию clock(), которая покажет рабочее время. Для поиска времени работы фрагмента кода нужно найти разницу между конечным и начальным временем, как показано выше.

#include <ctime>

    unsigned int start_time =  clock(); // начальное время

    // здесь должен быть фрагмент кода, время выполнения которого нужно измерить

    unsigned int end_time = clock(); // конечное время

  unsigned int search_time = (end_time - start_time); // искомое время в миллисекундах (для секунд надо поделить на 1000)

3. Задание на лабораторную работу

Разработать консольное приложение, которое:

– автоматически заполняет входной файл набором сгенерированных целых чисел (количество – 1000 штук);

– считывает из сформированного входного файла (in.txt) последовательность целых чисел;

– преобразует считанную последовательность в массив целых значений;

– сортирует по возрастанию полученный массив методом пузырька (с засечкой времени выполнения);

– записывает полученную отсортированную последовательность в выходной файл (out_bubble.txt);

– считывает из сформированного входного файла (in.txt) последовательность целых чисел;

– преобразует считанную последовательность в массив целых значений;

– сортирует по возрастанию полученный массив методом поиска минимума (с засечкой времени выполнения);

– записывает полученную отсортированную последовательность в выходной файл (out_min.txt);

– считывает из сформированного входного файла (in.txt) последовательность целых чисел;

– преобразует считанную последовательность в массив целых значений;

– сортирует по возрастанию полученный массив методом вставки (с засечкой времени выполнения);

– записывает полученную отсортированную последовательность в выходной файл (out_ins.txt);

– считывает из сформированного входного файла (in.txt) последовательность целых чисел;

– преобразует считанную последовательность в массив целых значений;

– сортирует по возрастанию полученный массив сортировкой Шелла(с засечкой времени выполнения);

– записывает полученную отсортированную последовательность в выходной файл (out_shell.txt);

– сравнить полученные времена.

Рекомендации:

– все методы сортировки должны быть реализованы в одной программе и сортировать одну и ту же последовательность (чтобы можно было корректно сравнить время выполнения);

– заполнение массива из файла и различные методы сортировки следует выполнить отдельными функциями;

– на выходе можно получить примерно следующее окно с результатами, приведенное на следующем рисунке.

10