Форум программистов, компьютерный форум CyberForum.ru

Слить два упорядоченных массива в третий - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получить новую матрицу путем сложения http://www.cyberforum.ru/cpp-beginners/thread812201.html
Получить новую матрицу путем сложения всех элементов данной матрицы с ее наименьшим по модулю элементом. РАБОТА С ФУНКЦИЯМИ.. #include <stdio.h> #include <math.h> #include <locale> #include <conio.h> #include <time.h> #define MAX 10
C++ Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) Как подсчитать кол-во парных нулевых битов, расположенных строго между единичными? http://www.cyberforum.ru/cpp-beginners/thread812195.html
C++ Шаблон функции. Некорректная работа
Здравствуйте. Проблема такая: ниже приведенный код почему то некорректно отображает вызовы со всеми последующими массивами после float в качестве аргументов. Подскажите пожалуйста почему? И как исправить? #include <iostream> using namespace std; template<class Val> ////////////////////////////////////////// Val avg( Val* arr, const int SIZE ) { for( int j = 0; j < SIZE; j++)
C++ Проверить, что все слова заданной строки упорядочены в лексикографическом порядке (как в словаре)
Проверить, что все слова заданной строки упорядочены в лексикографическом порядке (как в словаре). помогите решить задачку на с++ :cry:
C++ Написать функцию, которая вычисляет среднее арифметическое элементов непустого списка http://www.cyberforum.ru/cpp-beginners/thread812170.html
Написать функцию, которая вычисляет среднее арифметическое элементов непустого списка.
C++ Подскажите алгоритм разложения числа по степеням Есть какое то число, его надо разложить по основанию 2^13 (2 в 13 степени) и вывести коэффициенты разложения в массив, то есть например число 341=341*(2^13)^0 то есть в массив записываем число 341 или число 8195=1*(2^13)^1+3*(2^13)^0 то есть в массив записывается два значения 1 и 3. Напишите пожалуйста код такого разложения. подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7158 / 4324 / 630
Регистрация: 29.11.2010
Сообщений: 11,745
19.03.2013, 00:54     Слить два упорядоченных массива в третий
А про специально придуманный для этого merge почему никто не сказал?
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
35
#include <iostream>
#include <algorithm>
#include <iterator>
#include <random>
#include <vector>
#include <cstddef>
 
typedef std::ostream_iterator<int> int_output;
 
int main()
{
    const std::size_t N = 10, M = 15;
    std::mt19937 gen { std::random_device()() };
    std::uniform_int_distribution<int> uid(0, 99);
    std::vector<int> v1(N), v2(M), v3;
    auto genAndSort = [&uid, &gen](std::vector<int> &v, const std::size_t size)
    {
        std::generate(v.begin(), v.begin() + size, [&uid, &gen]
            { return uid(gen); } );
        std::sort(v.begin(), v.begin() + size);
    };
    auto print_v = [](const std::vector<int> &v)
    {
        std::copy(v.cbegin(), v.cend(), int_output(std::cout, " ") );
        std::cout << std::endl;
    };
 
    genAndSort(v1, N);
    genAndSort(v2, M);
    print_v(v1);
    print_v(v2);
    std::merge(v1.begin(), v1.begin() + N, v2.begin(), v2.begin() + M,
        std::back_inserter(v3));
    print_v(v3);
}
http://liveworkspace.org/code/nUNEb
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru