0 / 0 / 0
Регистрация: 11.03.2016
Сообщений: 39
|
|
1 | |
Отсортируйте первую половину массива по возрастанию, а вторую по убыванию23.05.2016, 23:56. Показов 1884. Ответов 7
Метки нет (Все метки)
Решите задачи данной группы, оформив решение в виде процедур генерации,
вывода и обработки массивов. Предусмотрите в процедуре генерации массива ввод границ диапазона случайных чисел. Создайте целочисленный массив, содержащий 2n различных чисел. Отсортируйте первую половину массива по возрастанию, а вторую по убыванию. Выведите на экран, отсортированный таким образом массива
0
|
23.05.2016, 23:56 | |
Ответы с готовыми решениями:
7
Отсортировать первую половину массива по возрастанию, а вторую - по убыванию Первую половину элементов массива упорядочить по убыванию, а вторую – по возрастанию Отсортировать первую половину массива из N элементов по возрастанию, а вторую по убыванию Отсортировать первую половину списка по убыванию, вторую по возрастанию |
24.05.2016, 10:49 | 2 |
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
24.05.2016, 11:39 | 3 |
HighPredator, Не сумел полностью разобраться в кодах по приведенной ссылке. Но хочу заметить, что для решения задачи вовсе не обязательно делать 2 сортировки. Достаточно сделать сортирующую функцию, которая анализирует сначала индексы элементов
0
|
24.05.2016, 11:44 | 4 |
Байт, если что они не мои Я просто хотел показать, что на форуме это 100500+ тема с такой (или аналогичной) формулировкой.
0
|
26.05.2016, 10:39 | 6 | |||||
С одной стороны соглашусь. С другой стороны, требуемая неоднородность выдаваемого результата автоматически дает больше одного вызова функции сортировки в общем случае. Я смог придумать только один чит и тот только для массива неотрицательных чисел: умножить первую половину на -1 до и после сортировки. Но это очень частный случай.
0
|
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
|
||||||
26.05.2016, 14:18 | 7 | |||||
Сообщение было отмечено СветланаХолод как решение
Решение
1
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
27.05.2016, 22:05 | 8 |
Да, используя qsort не получится. Так как вызываемая им сортировочная функция ничего не может знать о номерах элементов. Но сравнивая в main, никаких особых трудностей нет. В двух словах так:
Если i < n/2 < j, то элементы оставляем на месте. Если i, j < n/2, сортируем по первому принципу. i, j > n/2 - по второму. Вот и вся премудрость
1
|
27.05.2016, 22:05 | |
27.05.2016, 22:05 | |
Помогаю со студенческими работами здесь
8
Упорядочить первую половину списка натуральных чисел по убыванию, а вторую по возрастанию Отсортируйте первую половину массива по убыванию, а вторую по возрастанию Отсортируйте первую половину массива по возрастанию, а вторую – по убыванию Отсортируйте первую половину массива по возрастанию, а вторую по убыванию Отсортируйте первую половину массива по возрастанию, а вторую по убыванию Массив: Отсортируйте первую половину массива по возрастанию, а вторую по убыванию... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |