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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одномерный массив http://www.cyberforum.ru/cpp-beginners/thread220903.html
Помогите братаны... В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает единицы. Освободивщиеся в конце массива элементы заполнить нулями.
C++ Обработка литерных величин в C++ bulder Вычеркните из одного слова все буквы, встречающиеся в другом слове. http://www.cyberforum.ru/cpp-beginners/thread220893.html
C++ Работа с рядками (язык C)
Задание: Задав с клавиатуры последовательность символов, реализовать её обработку, как указано в варианте. Начальные данные задать самостоятельно, учитывая специфику варианта и общую постановку задания. Обрабатывать надо последовательность от 1 до 30 слов, которые состоят из строчных латинских букв. Между соседними словами - не менее одного пропуску, за последним словом - точка. Напечатать...
Обработка литерных величин в C++ bulder C++
Определите все ли буквы слова различны.
C++ класси???? http://www.cyberforum.ru/cpp-beginners/thread220881.html
Класс n-мерных векторов Базовый класс (координаты начала и конца вектора Совет: реализовать дополнительный класс NPoint, содержащий в виде массива координаты n-мерных точек, а также количество координат - N) Конструкторы: по умолчанию, с параметрами и копирования. Деструктор. Функции: перегрузки операции сложения; Перегрузка операции вычитания; перегрузки операции умножения на...
C++ Задана матрица {aij} размерности N*N. Из ее элементов сформировать одномерный массив Пожалуйста помогите сделать эти задачи: 1. Задана матрица {aij} размерности N*N. Из ее элементов сформировать одномерный массив {bk} (k=1, N^2) в следующем порядке: подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
27.12.2010, 02:30     Построить упорядоченный по возрастанию третий массив слиянием двух заданных
Держи.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
#include <numeric>
#include <cmath>
#include <functional>
 
int main()
{
    std::vector<double> Vec;
    std::copy(std::istream_iterator<double>(std::cin), std::istream_iterator<double>(),
        std::back_inserter(Vec));
    std::vector<double>::iterator it=std::min_element(Vec.begin(), Vec.end(),
        [](double t, double f) -> bool
    {
        return fabs(t) < fabs(f);
    });
    std::cout<<"Min element "<< *it <<" have number "<< std::distance(Vec.begin(), it) + 1 <<'\n';
    it=std::find_if(Vec.begin(), Vec.end(), std::bind2nd(std::less<double>(), 0));
    if(it != Vec.end())
    {
        std::cout<<"First negative element is: "<< *it <<" with number "<< std::distance(Vec.begin(), it) + 1 <<'\n';
        double sum=std::accumulate(it+1, Vec.end(), 0.0,
            [](double t, double f) -> double
        {
            return fabs(t) + fabs(f);
        });
        std::cout<<"Sum after element with number "<< std::distance(Vec.begin(), it) + 1 <<" is "<< sum <<'\n';
    }
    else
        std::cout<<"There is no negative elements in array\n";
    double a, b;
    std::cin.clear();
    std::cout<<"Enter range for delete elements: ";
    std::cin>>a>>b;
    int cnt=0;
    Vec.erase(std::remove_if(Vec.begin(), Vec.end(), [&](double t) -> bool
    {
        if(t >= a && t <= b)
        {
            ++cnt;
            return true;
        }
        return false;
    }), Vec.end());
    for(int i=0; i<cnt; ++i)
        Vec.push_back(0.0);
    std::cout<<"Result vector\n";
    std::copy(Vec.begin(), Vec.end(), std::ostream_iterator<double>(std::cout, " "));
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru