Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.09.2018
Сообщений: 9

Слияние двух массивов и сортировка по убыванию

29.09.2022, 11:57. Показов 912. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать функцию, которая из двух массивов типа int, упорядоченных
по убыванию, формирует новый массив двойной длины, упорядоченный по
убыванию (слияние)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.09.2022, 11:57
Ответы с готовыми решениями:

Слияние двух массивов в отсортированный по не убыванию массив
Даны два массива. Массив А состоит из N элементов, массив В состоит из М элементов. Оба массива отсортированы по убыванию. Разработать...

Слияние двух упорядоченных по убыванию массивов в один, упорядоченный по убыванию
Даны два упорядоченных по убыванию массива W и G. Получите из них путем слияния упорядоченный по убыванию массив С; совпадающие элементы...

Слияние двух упорядоченных по убыванию массивов в один, упорядоченный по убыванию
Даны два упорядоченных по убыванию массива W и G. Получите из них путем слияния упорядоченный по убыванию массив С; совпадающие элементы...

1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
29.09.2022, 12:48
Лучший ответ Сообщение было отмечено barikand03 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
template<typename Iterator, typename OutputIterator, typename Compare>
OutputIterator merge(Iterator begin1, Iterator end1, Iterator begin2, Iterator end2,
                     OutputIterator output, Compare comparator) {
    // пока не конец первого массива
    while (begin1 != end1) {
        // если конец второго массива
        if (begin2 == end2) {
            // копируем остаток в вывод
            return std::copy(begin1, end1, output);
        }
        // помещение элемента из первого или второго массива в вывод,
        // в зависимости от результата сравнения
        *output++ = comparator(*begin2, *begin1) ? *begin2++ : *begin1++;
    }
    // копирование остатков второго массива в вывод
    return std::copy(begin2, end2, output);
}
 
int main() {
 
    int a[5] = {11, 9, 3, 2, 1};
    int b[4] = {10, 9, 8, 4};
    int c[std::size(a) + std::size(b)] {};
 
    merge(a, a + std::size(a), b, b + std::size(b), c, [](auto a, auto b) { return b < a; });
 
    for (auto i : c) {
        std::cout << i << std::endl;
    }
 
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.09.2022, 12:48
Помогаю со студенческими работами здесь

Слияние двух массивов отсортированных по убыванию
Нужно написать прогу: Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортированы...

Слияние двух массивов введённых в консоли после их сортировки по убыванию и возрастанию
Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по...

Слияние массивов в один массив по убыванию
Даны три целочисленных массива A, B и С размера NA, NB, NC соответсвенно, элементы которых упорядочены по убыванию. Объединить эти массивы...

Сортировка и слияние массивов
Товарищи, помогите пожалуйста разобраться с заданием. Буду очень благодарен.

Слияние и сортировка массивов
есть три массива: int a={1,1,2,3,4,5,5,6}; int b={3,3,5,6,7,8,8,9,9,9,9,10}; int c=new int; стоит задача залить значения c...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru