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

Объединение двух контейнеров - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Односвязный список http://www.cyberforum.ru/cpp-beginners/thread983559.html
Посмотрите программу, правильно ли я вывожу список? Почему список выводится только из 7 цифр, и как можно написать с помощью функций? Заранее спасибо! #include "stdafx.h" #include <conio.h> typedef struct List_Item { int Info; List_Item *Next; }; int _tmain(int argc, _TCHAR* argv)
C++ Две задачи на тему "Организация и обработка массивов данных" Прошу помочь в составлении кода программы следующих двух задач: 1) Найти максимальное из чётных элементов массива с нечётными номерами и минимальное из нечётных элементов с чётными номерами. Массив из X целых чисел. 2) http://www.imageup.ru/img85/thumb/zadanie-21529918.jpg Благодарю, кто сделает это в ближайшее время (до выходных). http://www.cyberforum.ru/cpp-beginners/thread983552.html
Написать mmorpg c нуля. Оценка времени C++
Привет всем!:) я хочу научится программировать и написать mmorpg я знаю что это займёт возможно займёт оооочень много времени, но я хотел узнать сколько именно надо времени, чтобы научится писать элементарную 2d mmorpg, но пожалуйста, ответьте те кто знают, ато мне на 2 других форумах написали такое... вообщем я знаю программистов, которые делали 2d mmorpg, и им вообще лет меньше, чем то...
Перевод из Delphi на C++ C++
Здравствуйте, форумчане. прошу вас помочь мне перевести полностью рабочую и готовую программу, написанную на Delphi на C++ задали задание, нужно сделать срочно, а я синтаксис С++ вообще не знаю. надеюсь на вашу помощь unit Tabul; interface uses
C++ три задачи о матрицах в C++ http://www.cyberforum.ru/cpp-beginners/thread983510.html
помогите решить три задания про матрицы, болел пропустил все что о них учили, так: 1. Вычислить произведения главной диагонали матрицы 2. Вычислить сумму элементов матрицы, значение которых не превышают заданное число 3. Представить два заданных столбца матрицы
C++ Количество цифр в строке Задание: Дана строка. Подсчитать количество содержащихся в ней цифр. int countDigits(char * str); Не хочет вводится строка с помощью гетлайн,и сама функция неправильно работает:cry: Просьба помочь! #include <iostream> #include <locale> #include <string.h> подробнее

Показать сообщение отдельно
tramp_1-3
 Аватар для tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
21.10.2013, 17:31  [ТС]     Объединение двух контейнеров
Цитата Сообщение от monolit Посмотреть сообщение
++temp не там стоит, где должно. Да, и куча пробелов в самых неподходящий места, этим не злоупотребляй(set <int> & => set<int>&, b.begin () => b.begin())). А так вполне себе приятно читать)
а вообще, перед этим написал, что vector <int> итератор не приращиваемый! что за итератор надо для него выбрать тогда из файла iterator? Спасибо, а о каких пробелах идёт речь? О тех, что перед операторами или внутри скобок? Если первые, то это Dev-C++ сам ставит вместо табуляции. А внутри скобок постарался сделать код читабельнее.
Полный код:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <vector>
#include <ctime>
#include <algorithm>
#include <iterator>
#include <set>
 
using namespace std;
const int SIZE = 10;
bool isOdd (int i);
bool isEven (int i);
bool isMultipleTo5 (int i);
void fill (vector <int> &, vector <int> &, bool (*check) (int));
void unite (vector <int> &, vector <int> &, set <int> &);
 
int main ()
{
    srand (time (0));
    vector <int> seq (SIZE);
    for (int i = 0; i < SIZE; i++)
    {
        seq [i] = rand () % 50 + 50;
    }
    cout << "Source array:\n";
    ostream_iterator <int, char> out (cout, " ");
    copy (seq.begin (), seq.end (), out);
    vector <int> multipleTo5;
    vector <int> odd;
    bool (*check) (int i);
    check = isOdd;
    fill (seq, odd, check);
    check = isMultipleTo5;
    fill (seq, multipleTo5, check);
    cout << "\nOdd array:\n"; 
    copy (odd.begin (), odd.end (), out);
    cout << "\nMultipe to 5 array:\n"; 
    copy (multipleTo5.begin (), multipleTo5.end (), out);
    set <int> result;
    unite (odd, multipleTo5, result);
    cout << "\n";
    cout << "Union of them:\n";
    copy (result.begin (), result.end (), out);
    cin.ignore (1);
    cin.get ();
    return 0;
}
bool isOdd (int i)
{
    return (i % 2);
}
bool isEven (int i)
{
    return !(i % 2);
}
bool isMultipleTo5 (int i)
{
    return !(i % 5);
}
void fill (vector <int> & source, vector <int> & dest, bool (*check) (int i))
{
    vector <int>::iterator search = find_if (source.begin (), source.end (), check);
    while (search != source.end ())
    {
        dest.push_back (*search);
        search++;
        search = find_if (search, source.end (), check);
    }
}
void unite (vector <int> & a, vector <int> & b, set <int> & r)
{
    vector <int>::iterator temp = a.begin ();
    vector <int>::iterator check;
    while (temp != a.end ())
    {
        check = find (b.begin (), b.end (), *temp);
        if (check != b.end ())
        {
            r.insert (*temp);
        }
        ++temp;
    }
    temp = b.begin ();
    while (temp != b.end ())
    {
        check = find (a.begin (), a.end (), *temp);
        if (check != a.end ())
        {
            r.insert (*check);
        }
    }
    ++temp;
}
Миниатюры
Объединение двух контейнеров  
 
Текущее время: 09:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru