09.05.2012, 13:29. Просмотров 1088. Ответов 7
Написать программу сортировки динамического двумерного массива.
Общее задание:
Динамический двумерный массив (массив строк или матрица чисел - см. свой вариант задания) объявляется в виде массива указателей на одномерные массивы.
Пользователь при запуске программы вводит размерности массива (M x N): M - число строк, N - количество чисел или символов в строке (см. пример выделения и освобождения памяти для многомерных массивов). Затем пользователь заполняет массив данными (не забудьте про проверку на корректность ввода данных массива и размерностей M и N).
Затем выполняется сортировка массива заданным способом по определенному критерию (см. свой вариант задания).
На экране необходимо распечатать исходный массив и его отсортированный вариант.
Предусмотрите возможность пошагового вывода на экран при выполнении сортировки (пользователь выбирает режим в меню самостоятельно - сортировать по шагам или сразу получить результат).
Важно: При сортировке оперируйте указателями на одномерные массивы, не копируя и не переставляя элементы в одномерных массивых в памяти программы.
В программе опишите отдельные функции для:
ввода данных;
подсчета характеристики одномерного массива (критерия, по которому будет осуществляться сортировка);
сортировки двумерного массива;
вывода данных на экран.
Программа должна корректно выделять память и корректно ее освобождать после использования!
Тип данных: массив строк (пользователем задается количество строк и максимальное количество символов в строке)
Критерий сортировки: по длине (количество символов в строке), для строк равной длины - в алфавитном порядке
Алгоритм сортировки: сортировка перемешиванием (Шейкерная сортировка) (Cocktail sort)
0
|