Лабораторная работа: (C++) «Массивы и сортировка» вариант 29
Описание
Задание:
Разработать программу сортировки целочисленного массива в соответствии с поставленными требованиями и с вариантом задания (Табл. 1).
Провести тестирование качества разработанной программы в соответствии с планом тестирования.
Общий алгоритм работы программы:
· Чтение входного файла.
· Поочередное преобразование строки чисел в «массив » . Определенный вид «массива » жестко задан в индивидуальном задании.
· Сортировка каждого «массива » . Метод сортировки жестко задан в индивидуальном задании (буфер или циклический буфер).
· Запись отсортированного «массива » в строку выходного файла.
По окончании работы программа выводит в консоль время работы в миллисекундах, среднюю длину строки и количество обработанных строк.
Выходные данные. По окончании работы программа выводит 3 беззнаковых целых числа (время работы в миллисекундах, среднюю длину строки и количество обработанных строк), разделенных пробелами и перевод строки (std::endl или “n”). Никакой другой текстовой или числовой информации, или единиц измерения не выводится.
Команда запуска программы:
arraysort.exe имя_входного_файла имя_выходного_файла [-t]
Программа принимает в качестве аргументов командной строки:
· имя_входного_файла (обязательный параметр);
· имя_выходного_файла (обязательный параметр);
· -t (НЕобязательный флаг). Если в параметрах программы указан этот флаг, тогда сортировка «массива » не производится. Это нужно для тестирования производительности операций чтения из входного файла, парсинга строки в число, сериализации чисел в строку и записи строк в выходной файл.
Формат входного файла:
· Данные записаны построчно и разделены между собой пробелом (т.е. csv-файл с разделителями).
· Данных в строке может быть произвольное количество, но не более 100000.
· Данные являются целыми числами со знаком типа int.
· В строке могут быть некорректные данные: символы или слова, не являющиеся числами.
· Количество строк произвольно. Может быть очень большим.
Формат выходного файла аналогичен формату входного файла, за исключением следующего:
· В строке не может быть некорректных данных.
· Если в строке входного файла не оказалось корректных данных, в выходной файл выводится пустая строка.
· Номера строк входного и выходного файлов совпадают.
Индивидуальное задание: поразрядная сортировка, обычный буфер