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

Кто-нибудь реализовывал класс множество? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ "Куб Микусинского" http://www.cyberforum.ru/cpp-beginners/thread575994.html
Здравствуйте. Подкиньте, пожалуйста, мысли. Задание : Нужно использовать поиск с возвращением. Не могу понять как подступиться к этой задаче. Нужно как то представить модели фигур ?
C++ Передача массива в функцию есть массив в методе какого то класса void _mServer::Listen() { .... ULONG s_c; s_c = (ULONG) this; s_c = (ULONG) this->getNewClient(); http://www.cyberforum.ru/cpp-beginners/thread575983.html
C++ Создать предложение из трех слов, упорядочив слова по возрастанию их длины
Буду признателен за помощь в решение этой задачки, сам ещё только учусь;( Разработать программу согласно варианту задания. Максимальная длина строк не менее 80 символов. При реализации программы необходимо использовать функции для обработки строк из библиотек stdlib.h и string.h Варианты заданий: 6)Даны три слова. Создать предложение из этих слов, упорядочив слова по возрастанию их длины....
Дввойная буферизация C++
Работаю в WinForm VS(2010) с++ Не могу понять как реализовать в двойную буферизацию. Я затираю эллипс (всего n нужен пример с двумя)(рисуя его цветом фона), нахожу новые координаты, рисую его другим цветом, из-за этого мигание. Как реализовать, чтобы это делалось в буфере, а нам выдавался только рисунок со смещёнными эллипсами? SolidBrush^ myBrush123 = gcnew SolidBrush( Color::FromArgb( 255,...
C++ Составить программу, которая превращает неупорядоченные массивы В [16] и С [20] по заданному алгоритму. http://www.cyberforum.ru/cpp-beginners/thread575925.html
НЕ могу никак написать код программы вот этой задачи: 1. Составить программу, которая превращает неупорядоченные массивы В и С следующим образом: меняет значения элементов с максимальным значением на наименьшее значение в массиве, а минимальные - наоборот на наибольшее значение из этого массива. Инициализацию, вывод элементов массива, их обработку организовать в отдельных функциях.
C++ Двумерный массив. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов Условие задачи следующее: Дан двумерный массив размером nхm, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов. Есть пример задачи, где определяется номер строки и столбца элемента, который равен нулю. Нужно переделать под условие, сказанное выше. #include <iostream> using namespace std; void... подробнее

Показать сообщение отдельно
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,620
Записей в блоге: 17
16.05.2012, 14:52     Кто-нибудь реализовывал класс множество?
а вот что писать в свойствах перегрузки без понятия
Что значит свойства перегруки?

Вот я начал писать наскорую руку, думаю как пример сойдет

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
namespace my
{
using namespace std;
//---------------------------------------------------------------------------
template<class T>
class set
{
    T *mem;
    int fsize;
public:
    set(int size){fsize=size;mem=new T[fsize];}
    set(set &obj)
       {
       fsize=obj.size();
       mem=new T[fsize];
       for(int i=0;i<size();i++)
       mem[i]=obj[i];
       }
    ~set() { delete[] mem; }
    int size(){return fsize;};
    void resize(int newsize)
     {
     T* p=new T[newsize];
     for(int i=0;i<(newsize<size()?newsize:size());i++) p[i]=mem[i];
     fsize=newsize;
     delete mem;
     mem=p;
     }
    void set::input() {for(int i=0;i<size();++i) cin>>mem[i];}
    void set::print(){for(int i=0;i<size();++i) cout<<mem[i]<<endl;}
 
    T &operator[](int index){ return mem[index];};
 
    set operator+(set obj)
     {
     set temp(size()+obj.size());
     for(int i=0;i<size();i++)  temp[i]=mem[i];
     for(int j=size();j<temp.size();j++) temp[j]=obj[j-size()];
 
     return temp;
     }
 
 
    void operator*(); //пересечение
    void operator-(); //разность
 
    void dobavlenie();
    void proverka();
    void dvoichn_poisk();
};
//---------------------------------------------------------------------------
}; //my
//---------------------------------------------------------------------------
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
int _tmain(int argc, _TCHAR* argv[])
{
system("chcp 1251");
 
my::set<int> s1(3),s2(2);
 
s1[0]=0;
s1[1]=1;
s1[2]=2;
cout<<"s1"<<endl;
s1.print();
 
s2[0]=4;
s2[1]=5;
 
cout<<"s2"<<endl;
s2.print();
 
cout<<"s1+s2"<<endl;
(s1+s2).print();
 
cout<<"s3"<<endl;
my::set<int> s3(s1);
s2.print();
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
Добавлено через 57 минут
http://habrahabr.ru/post/123417/
 
Текущее время: 23:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru