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

Compair deque - C++

Восстановить пароль Регистрация
 
nfnicolas
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 117
Завершенные тесты: 2
19.07.2016, 00:17     Compair deque #1
есть два списка. Теперь мне нужно сравнить элементы если х <у то return (x+y) . я так думаю надо результат в 3 список записать
как мне провести сравнение?? желательно с применением функциональных объектов
C++
1
2
3
4
5
6
7
8
9
deque<float>X;
    deque<float>Y;
    for (int i = 0; i < 7; ++i)
        X.push_back(i+(rand() % 25));
    for (int i = 0; i < 7; ++i)
    Y.push_back(i + (rand() % 67));
    copy(X.begin(), X.end(), ostream_iterator<float>(cout, " "));
    cout << "\n";
    copy(Y.begin(), Y.end(), ostream_iterator<float>(cout, " "));
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2016, 00:17     Compair deque
Посмотрите здесь:

C++ deque<float>
C++ STL, deque, pair
C++ std::deque
C++ vector, list, deque
C++ deque iterator not dereferencable
Контейнер deque C++
Своя реализация deque C++
C++ STL deque

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
19.07.2016, 08:44     Compair deque #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
#include <deque>
#include <iostream>
#include <ctime>
using namespace std;
void compare(deque<int>& A,deque<int>& B,deque<int>& Result)
{
    Result.clear();
    deque<int>::iterator pa=A.begin();
    deque<int>::iterator pb=B.begin();
    for(;pa!=A.end() && pb!=B.end();++pa,++pb)
    {
        if( *pa<*pb )
            Result.push_back(*pa+*pb);
    }
}
int main()
{
    srand((unsigned)time(NULL));
    deque<int>X,Y,Result;
    for (int i = 0; i < 20; ++i)
        X.push_back(i + rand() % 25);
    for (int i = 0; i < 20; ++i)
        Y.push_back(i + rand() % 25);
    copy(X.begin(), X.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    copy(Y.begin(), Y.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    compare(X,Y,Result);
    copy(Result.begin(), Result.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    system("pause");
    return 0;
}
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
19.07.2016, 09:15     Compair deque #3
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
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <deque>
#include <functional>
 
using std::deque;
using std::cout;
using std::endl;
using std::copy;
using std::ostream_iterator;
 
template <class II, class OI, class BP, class BO>
void transform_if(II b1, II e1, II b2, II e2, OI r, BP bp, BO bo)
{
    for (; b1 != e1 && b2 != e2; ++b1, ++b2)
    {
        if (bp(*b1, *b2))
        {
            *r = bo(*b1, *b2);
            ++r;
        }
    }
}
 
int main()
{
    srand((unsigned)time(NULL));
 
    deque<int> X, Y, Result;
    for (int i = 0; i < 20; ++i)
        X.push_back(i + rand() % 25);
    for (int i = 0; i < 20; ++i)
        Y.push_back(i + rand() % 25);
    copy(X.begin(), X.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    copy(Y.begin(), Y.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
 
    transform_if(X.begin(), X.end(), Y.begin(), Y.end(),
        std::back_inserter(Result), std::less<int>(), std::plus<int>());
 
    copy(Result.begin(), Result.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    system("pause");
}
Yandex
Объявления
19.07.2016, 09:15     Compair deque
Ответ Создать тему
Опции темы

Текущее время: 18:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru