Лабораторная работа: ЛР №6 - Указатели и массивы
Описание
1 ЗАДАНИЯ НА ЛАБОРАТОРНУЮ РАБОТУ
1.1 Задание 1
Разработать программу сортировки массивов данных
- Реализовать 3 вспомогательные функции:
- Заполнение массива случайными значениями (диапазон значений должен быть как минимум равен размеру массива);
- Проверка массива на отсортированность;
- Вывод массива на печать (нужно для отладки, не использовать на больших размерах).
- Генерировать массив заданного размера заполняя случайными значениями;
- Выполнять сортировку массива алгоритмами BubbleSort, InsertionSort, ShellSort, QuickSort, MergeSort. Функция должна принимать массив и его размер как параметры (например, merge_sort(int array)[], unsigned size); )
- Проверять отсортирован ли массив;
- * Выполнить замер времени сортировки, выводить результат измерений и выделять лучший (проверить на массивах порядка нескольких тысяч – миллиона, замерять только время работы сортировки). Для выполнения данного пункта возможно потребуется вынести объявление массива в глобальную область.
1.2 Задание 2
Разработать программу, считывающую число введенное пользователем
- Воспользоваться функцией чтения числа, реализованной в предыдущей лабораторной работе;
- Модифицировать функцию так, чтобы она возвращала результат и код ошибки (как минимум реализовать 3 кода: нет ошибки, недопустимый символ (буква в числе), недопустимая цифра (ввели 3 в 2 с/с)). Для написания такой функции можно использовать 2 подхода (свой выбор обосновать):
• enum ErrorCode read_number(int *number);
• int read_number(enum ErrorCode *error_code);
- Функция должна корректно обрабатывать неверный ввод;
- * Функция должна автоматически определять систему счисления исходя из префикса числа (0b...... – 2 c/c, 0...... – 8 c/c, ...... – 10 c/c, 0x...... – 16 c/c);
Характеристики лабораторной работы
Список файлов
- ЛР6.Черный.docx 600,5 Kb