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

Перегрузка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ g++: error: CreateProcess: No such file or directory http://www.cyberforum.ru/cpp-beginners/thread346358.html
Сегодня, в моей старой теме, ForEvEr привёл пример с boost'ом. Получалилось так, что я свободно гулял по разделу C++ для экспертов и в подписи niXman нашёл ссылочку на MinGW 4.6.0 с boost'ом. Я тут...
C++ компилятор dev c++6 компилятор компилирует файл без ошибок но exe файл не создаёт почему? Добавлено через 21 минуту поправка dev c++ 5 http://www.cyberforum.ru/cpp-beginners/thread346344.html
Первые шаги. Обучение "C" C++
Хочу начать обучение на языках С , как я понял нужно начинать по возрастающей C>C++>C# . Я не знаю стоит ли начинать обучение т.к. у меня вообще нет опыта программирования. Можно начинать...
C++ Начинаю изучение C++ (нужна помощь)
Изучаю Visual C++ . но вот проблема.. моя программа не компилируется... хотя код взят с учебника... и проблем с компиляцией быть ни должно... вот сам код: #include <iostream.h> void main(void)...
C++ Как обратиться к элементу массива с использованием указателя http://www.cyberforum.ru/cpp-beginners/thread346326.html
Всем привет, есть некоторая задачка, которую мне очень важно решить... Дословно пишу условие в С\С++ обьявлен массив mas значений типа integer, переменная p-указатель на первый элемент массива....
C++ Рисование * по кол-ву соответствующих числу Напишите программу, которая читает пять чисел (каждое между 1 и 30). Для каждого просчитанного числа ваша программа должна напечатать строку, содержащую соответствующее число смежных звездочек.... подробнее

Показать сообщение отдельно
LosAngeles
Заблокирован
10.09.2011, 12:37
не нашёл ничёго, но вот немного начал - множество в виде отсортированного списка
+ объединение
- вычитание
до остального руки не дошли, ну там по аналогии легко сделать и остальные операции
на работоспособность не проверял, но должно компилироваться и даже возможно правильно работать

код
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#ifndef SET_H
#define SET_H
 
#include <memory>
#include <functional>
#include <deque>
 
namespace ext {
 
using namespace std;
 
template   <typename T>
class  set  {
public:
 
    //construct/copy/destroy:
    explicit   set();
 
    set(const set<T>& x);
 
    set<T>& operator=(set<T> const& x);
 
    ~set();
 
    // capacity:
    bool                empty()   const { return cont.empty(); }
    size_t              size()  const { return cont.size(); }
 
    //operators:
    set<T> const& operator+(set<T> const& rhs);
    set<T> const& operator-(set<T> const& rhs);
    set<T> const& operator*(set<T> const& rhs);
    bool operator==(set<T> const& rhs);
 
    //modifiers:
    void  swap(set<T>&);
    void  clear();
    void  add(T const&);
    bool  find(T const&);
    void  remove(T const&);
 
private:
    deque<T> cont;
 
};
 
 
 
 
 
//construct/copy/destroy:
template <typename T> set<T>::set()
{
 
}
 
 
template <typename T> set<T>::set(set<T> const& x)
    :
      cont(x.cont)
{
 
}
 
 
template <typename T> set<T>::~set()
{
 
}
 
 
template <typename T> set<T>::set<T>& set<T>::operator=(set<T> const& x)
{
    cont = x.cont;
}
 
 
//modifiers:
 
template <typename T> void set<T>::clear()
{
    cont.clear();
}
 
 
template <typename T> void set<T>::swap(set<T>& rhs)
{
    cont.swap(rhs);
}
 
 
template <typename T> void set<T>::add(T const& newItem)
{
    if (cont.size() == 0)
    {
        cont.push_back(newItem);
        return;
    }
 
    for (typename deque<T>::iterator it = cont.begin(); it != cont.end(); ++it)
    {
        if (*it < newItem)
            cont.insert(it, newItem);
        if (*it == newItem)
            return;
    }
}
 
template <typename T> bool set<T>::find(T const& item)
{
    for (typename deque<T>::const_iterator it = cont.begin(); *it <= item; ++it)
        if (*it == item)
            return true;
 
}
 
 
 
template <typename T> void set<T>::remove(T const& item)
{
    for (typename deque<T>::const_iterator it = cont.begin(); *it <= item; ++it)
        if (*it == item)
            cont.erase(it);
}
 
 
//operators:
template <typename T> set<T>::set<T> const& set<T>::operator+(set<T> const& rhs)
{
    set<T> newSet(*this);
    
    for (typename deque<T>::const_iterator it = rhs.begin(); it != rhs.end(); ++it)
        newSet.add(*it);
    
    return newSet;
}
 
 
template <typename T> set<T>::set<T> const& set<T>::operator-(set<T> const& rhs)
{
   set<T> newSet(*this);
   
   for (typename deque<T>::const_iterator it = cont.begin(); it != cont.end() ; ++it)
       if (!rhs.find(*it))
           newSet.add(*it);
   
   return newSet;
}
 
 
 
 
 
}
 
#endif // SET_H
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru