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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.79
Virtus2000
Сообщений: n/a
#1

Контейнеры - C++

15.06.2011, 18:13. Просмотров 4878. Ответов 1
Метки нет (Все метки)

Здравствуйте. Помогите написать программу на С, с этим языком не знаком почти, а контейнеры вообще не понимаю. В общем беда полная....

1. Создать контейнер, содержащий объекты пользовательского типа. Тип контейнера выбирается в соответствии с вариантом задания.
2. Отсортировать его по убыванию элементов.
3. Просмотреть контейнер.
4. Используя подходящий алгоритм, найти в контейнере элемент, удовлетворяющий заданному условию.
5. Переместить элементы, удовлетворяющие заданному условию в другой (предварительно пустой) контейнер. Тип второго контейнера определяется вариантом задания.
6. Просмотреть второй контейнер.
7. Отсортировать первый и второй контейнеры по возрастанию элементов.
8. Просмотреть их.
9. Получить третий контейнер путем слияния первых двух.
10. Просмотреть третий контейнер.
11 .Подсчитать, сколько элементов, удовлетворяющих заданному условию, содержит третий контейнер.
12.Определить, есть ли в третьем контейнере элемент, удовлетворяющий заданному условию.

1-ый контейнер vector
2-ой контейнер list
тип данных int
Заданное условие можно придумать самому. 3-ий контейнер любой.

Заранее благодарю!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2011, 18:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Контейнеры (C++):

контейнеры С++ - C++
Задача:заполнить массив четными числами ,а множество – нечетными,с пом. алгоритма merge()объединить эти контейнеры в вектор… Но если ...

Контейнеры - C++
Здравствуйте.Задали задание в котором я ничего не смыслю,дело в том что для того чтобы разобраться мне нужно пару дней но у меня их...

Контейнеры с++ - C++
Ребят,подскажите пожалуйста,какую функцию нужно использовать,чтобы проверить массив на упорядоченность(мне нельзя использовать циклы и...

контейнеры (литература) - C++
На сегодняшний момент меня заинтересовали контейнеры) Может кто-то подсказать какую-то литературу по ним? В интернете искал, но ничего...

Шаблоны и контейнеры - C++
Подскажите, пожалуйста, отличия между шаблоном и контейнером (кроме наличия итератора).

ООП и контейнеры - C++
Здорова господа! От есть задачка: Напишите класс, производный от Container так, чтобы Vector из параграфа 16.2.1 мог использоваться в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
16.06.2011, 03:21 #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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
#include <vector>
#include <list>
#include <ctime>
#include <cstdlib>
 
//------------------
 
class RandVal
{
    private:
        int min_;
        int max_;
 
    public:
        RandVal(int min, int max)
            : min_(min),
              max_(max)
        {
            if(max < min) std::swap(min, max);
        }
 
        int operator()()
        {
            return std::rand() % (max_ - min_ + 1) + min_;
        }
};
 
//------------------
 
int main()
{
    typedef std::ostream_iterator<int> IntOutIter;
    typedef std::vector<int> Vec;
    typedef std::list<int> Lst;
 
    // 1.
    Vec cntr1Vec(10);
    std::srand(std::time(0));
    std::generate(cntr1Vec.begin(), cntr1Vec.end(), RandVal(-50, 50));
 
    // 2.
    std::sort(cntr1Vec.begin(), cntr1Vec.end(), std::greater<Vec::value_type>());
 
    // 3.
    std::cout << "<контейнер1> содержит: ";
    std::copy(cntr1Vec.begin(), cntr1Vec.end(), IntOutIter(std::cout, " "));
    std::cout << '\n';
 
    // 4.
    std::cout << "Найти в <контейнер1> первое число меньшее: ";
    Vec::value_type i;
    std::cin >> i;
    Vec::iterator it = std::find_if(cntr1Vec.begin(), cntr1Vec.end(),
                                     std::bind2nd(std::less<Vec::value_type>(), i));
    if(it != cntr1Vec.end())
        std::cout << *it << '\n';
    else
        std::cout << "Не найдено\n";
 
    // 5.
    Lst cntr2Lst;
    std::remove_copy_if(cntr1Vec.begin(), cntr1Vec.end(),
                        std::back_inserter(cntr2Lst), std::bind2nd(std::less<Lst::value_type>(), 0));
 
    // 6.
    std::cout << "<контейнер2> содержащий только положительные элементы из <контейнер1>: ";
    std::copy(cntr2Lst.begin(), cntr2Lst.end(), IntOutIter(std::cout, " "));
    std::cout << '\n';
 
    // 7.
    std::sort(cntr1Vec.begin(), cntr1Vec.end(), std::less<Vec::value_type>());
    cntr2Lst.sort(std::less<Lst::value_type>());
 
    // 8.
    std::cout << "Отсортированный по возрастанию <контейнер1>: ";
    std::copy(cntr1Vec.begin(), cntr1Vec.end(), IntOutIter(std::cout, " "));
    std::cout << '\n';
    std::cout << "Отсортированный по возрастанию <контейнер2>: ";
    std::copy(cntr2Lst.begin(), cntr2Lst.end(), IntOutIter(std::cout, " "));
    std::cout << '\n';
 
    // 9.
    Vec cntr3Vec(cntr1Vec.size() + cntr2Lst.size());
    std::merge(cntr1Vec.begin(), cntr1Vec.end(),
               cntr2Lst.begin(), cntr2Lst.end(), cntr3Vec.begin());
 
    // 10.
    std::cout << "<контейнер3> полученный путём слияния <контейнер1> и <контейнер2>: ";
    std::copy(cntr3Vec.begin(), cntr3Vec.end(), IntOutIter(std::cout, " "));
    std::cout << '\n';
 
    // 11.
    std::cout << "Количество отрицательных элементов в <контейнер3>: ";
    std::cout << std::count_if(cntr3Vec.begin(), cntr3Vec.end(),
                               std::bind2nd(std::less<Vec::value_type>(), 0)) << '\n';
 
    // 12.
    std::cout << "Проверить наличие в <контейнер3> числа: ";
    std::cin >> i;
    bool found = std::binary_search(cntr3Vec.begin(), cntr3Vec.end(), i);
    std::cout << (found? "Найдено" : "Не найдено") << '\n';
 
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2011, 03:21
Привет! Вот еще темы с ответами:

Ассоциативные контейнеры - C++
В текстовом файле хранятся слова: - вывести список различных слов (set); - подсчитать количество вхождений каждого слова...

Кодирующие контейнеры? - C++
Существуют ли контейнеры, которые позволяют хранить N элементов за memory&lt;O(N)? Именно на ходу. Скорость не так важна.

Строки-контейнеры - C++
Клас-контейнер который является абстракцией текста и состоит из обьектов класа строки и методов добавления строки в текст, удаления строки...

Контейнеры и итераторы - C++
Тема: иерархия объектов и группа. Итераторы. Задание: Имена всех монархов на заданном континенте.


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru