Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс n-мерных векторов http://www.cyberforum.ru/cpp-beginners/thread220905.html
Класс n-мерных векторов Базовый класс (координаты начала и конца вектора Совет: реализовать дополнительный класс NPoint, содержащий в виде массива координаты n-мерных точек, а также количество...
C++ Одномерный массив Помогите братаны... В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и... http://www.cyberforum.ru/cpp-beginners/thread220903.html
C++ Создать абстрактный тип данных
Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и переменную состояния. Определить конструктор без параметров, конструктор с параметром, конструктор...
Обработка литерных величин в C++ bulder C++
Вычеркните из одного слова все буквы, встречающиеся в другом слове.
C++ Работа с рядками (язык C) http://www.cyberforum.ru/cpp-beginners/thread220890.html
Задание: Задав с клавиатуры последовательность символов, реализовать её обработку, как указано в варианте. Начальные данные задать самостоятельно, учитывая специфику варианта и общую постановку...
C++ Обработка литерных величин в C++ bulder Определите все ли буквы слова различны. подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 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;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru