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

Из массива Х(N) все положительные элементы записать в массив У(К), а все отрицательные элементы – в массив Z(М)... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В двумерном числовом массиве все отрицательное элементы заменить нулями http://www.cyberforum.ru/cpp-beginners/thread901654.html
в двумерном числовом массиве все отрицательное элементы заменить нулями!
C++ функция ввода есть такой кодclass kv{ int a,b,c; public: void get () {cin>>a>>b;} int iu (){return 2*(a+b); } kv(){a=b=0;} }; void main (){ kv k; http://www.cyberforum.ru/cpp-beginners/thread901653.html
C++ в двовимырному масивы розмырныстю N на M поміняти місцями мінімальний і максимальний елемент кожного рядка
в двовимырному масивы розмырныстю N на M поміняти місцями мінімальний і максимальний елемент кожного рядка Пункт 1.3 Правил: Официальными языками форума являются русский и английский языки.
Для двух заданных натуральных чисел получить в порядке убывания все общие кратные C++
Написать программу через цикл for. Для двух заданных натуральных чисел получить в порядке убывания все общие кратные, не превосходящие произведения этих чисел.
C++ std::bind1st: is not a class, struct, or union type http://www.cyberforum.ru/cpp-beginners/thread901649.html
Добрый день, пытаюсь найти элемент в списки указателей на объекты классачерез предикат. Вот упрощенный пример: #include <algorithm> #include <functional> #include <list> class classA{ public: classA(int A): var(A) {}; int getVar() {return var;}; private:
C++ Для заданных n чисел подсчитать сумму всех положительных Написать программу через цикл for. Для заданных n чисел подсчитать сумму всех положительных. подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
14.06.2013, 16:48
Сразу оговорюсь. Тут "попроще":
Сформировать 2 массива: первый из положительных элементов, второй - из отрицательных
Из отрицательных элементов массива А сформировать массив Р
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
54
55
#include <iostream>
#include <algorithm>
#include <random>
#include <iterator>
#include <vector>
#include <cstddef>
#include <cmath>
 
template <typename ForwardIterator>
ForwardIterator max_abs_element(ForwardIterator beg, ForwardIterator end)
{
    typedef const typename ForwardIterator::reference const_ref;
    return std::max_element(beg, end, [](const_ref x, const_ref y)
        { return abs(x) < abs(y); } );
}
 
 
int main()
{
    typedef std::vector<int> v_int;
    const std::size_t N = 20;
    v_int X(N), Y, Z;
    std::mt19937 gen { std::random_device()() };
    std::uniform_int_distribution<int> uid(-50, 50);
    auto print_v = [](const v_int &v)
    {
        std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " ") );
        std::cout << std::endl;
    };
    auto gen_v = [&uid, &gen](v_int &v)
    {
        std::generate(v.begin(), v.end(), [&uid, &gen]() -> int { return uid(gen); } );
    };
    auto sortOut_v = [](const v_int &v1, v_int &v2, v_int &v3)
    {
        for (auto &x : v1)
            x < 0 ? v3.push_back(x) : v2.push_back(x);
    };
    auto press_key_to_win = [&print_v](const char *name, v_int &v)
    {
        std::cout << name << ":\n";
        print_v(v);
        std::cout << "Max abs: " << *max_abs_element(v.begin(), v.end())
                  << "\nAfter deleting first element:\n";
        v.erase(v.begin());
        print_v(v);
        std::cout << std::endl;
    };
 
    gen_v(X);
    press_key_to_win("X", X);
    sortOut_v(X, Y, Z);
    press_key_to_win("Y", Y);
    press_key_to_win("Z", Z);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru