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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
xumera
1 / 1 / 0
Регистрация: 05.07.2012
Сообщений: 81
#1

Описать класс "множество", позволяющий выполнять основные операции - добавления и удаление элемента, пересечение, множеств, объединение и разность мно - C++

16.11.2013, 19:17. Просмотров 2760. Ответов 6
Метки нет (Все метки)

Люди помогите написать программу, очень нужно!!! Буду очень благодарный........
1. Описать класс "множество", позволяющий выполнять основные операции - добавления и удаление элемента, пересечение, множеств, объединение и разность множество
2. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса
3. описать класс "множество сочетаний", содержащий операции, позволяющие определять порядковый номер сочетания в списке, выводить список сочетаний, вводить сочетание с контролем.
4. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2013, 19:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать класс "множество", позволяющий выполнять основные операции - добавления и удаление элемента, пересечение, множеств, объединение и разность мно (C++):

Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции - C++
# include <iostream> # include <conio.h> # include <string> # include <stdio.h> #include <cstdlib> const int CHUNK_SIZE=10; ...

Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств ) - C++
Описать класс «множество», позволяющий выполнять основные операции – добавление и удаление элемента, пересечение, объединение и удаление...

Описать класс "множество", позваляющий выполнять основные операции - C++
Описать класс "множество", позваляющий выполнять основные операции: добавление и удаление элемента, перечисление,обьединение и разность...

Класс множество, не работают функции объединение и разность множеств - C++
Реализован класс множество. В алгоритме не работают 2 функции, объединение и разность множеств. #include <iostream> #include <conio.h> ...

Найти пересечение, объединение, разность, симметрическую разность множеств - C++
Задание: Написать программу, которая проделывается операции над множествами (пересечение, объединение, разность, симметрическую разность) ...

Объединение, пересечение, разность, симметрическая разность множеств - C++
Составить множество А из букв фамилии, множество В – из букв имени, множество С – из букв отчества (повторяющиеся элементы удалить). Найти:...

6
VladislavTepes
78 / 78 / 5
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
16.11.2013, 19:24 #2
xumera, в задании с множествами можно использовать std::vector? Или только массивы?

Добавлено через 53 секунды
И да, нужно описать множество именно определенного типа (не шаблонный класс)?
0
xumera
1 / 1 / 0
Регистрация: 05.07.2012
Сообщений: 81
16.11.2013, 19:49  [ТС] #3
можно использовать что угодно только что бы программа работала

Добавлено через 5 минут
VladislavTepes, поможете написать программу????
0
VladislavTepes
78 / 78 / 5
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
16.11.2013, 21:21 #4
xumera, уже пишу.

Добавлено через 1 час 10 минут
Вот. Извините, что задержал, пришлось отлучиться.
set.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef SET_H_INCLUDED
#define SET_H_INCLUDED
#include <vector>
class CSet
{
    private:
    std::vector<int> els;
    unsigned size;
    public:
    CSet(): size(0) { }
 
    void print();
    void include(int el);
    void exclude(int el);
    bool contains(int el) const ;
    const friend CSet operator+(const CSet& set1, const CSet& set2);
    const friend CSet operator-(const CSet& set1, const CSet& set2);
    const friend CSet operator*(const CSet& set1, const CSet& set2);
    int operator[](unsigned index);
    inline unsigned length() const { return size; }
 
};
#endif // SET_H_INCLUDED
set.cpp
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
#include <iostream>
#include "set.h"
void CSet::print()
{
    std::cout<<'[';
    for (int el : els) std::cout<<el<<',';
    std::cout<<']';
}
void CSet::include(int el)
{
    els.push_back(el);
    size++;
}
void CSet::exclude(int el)
{
    for (int i=0; i<size; i++)
    {
        if (els[i] == el)
        {
         els.erase(els.begin()+i);
         size--;
        }
    }
}
 
bool CSet::contains(int el) const
{
    for (int x : els)
    {
        if (x==el) return true;
    }
    return false;
}
 
int CSet::operator[](unsigned index)
{
    return els.at(index);
}
 
const CSet operator+(const CSet& set1, const CSet& set2)
{
    CSet result_set;
    for (int x : set1.els)
    {
        if (!result_set.contains(x)) result_set.include(x);
    }
    for (int x : set2.els)
    {
        if (!result_set.contains(x)) result_set.include(x);
    }
    return result_set;
}
 
const CSet operator-(const CSet& set1, const CSet& set2)
{
    CSet result_set;
    for (int x : set1.els)
    {
        if (!set2.contains(x)) result_set.include(x);
    }
    return result_set;
}
 
const CSet operator*(const CSet& set1, const CSet& set2)
{
    CSet result_set;
    for (int x : set1.els)
    {
        if (set2.contains(x)) result_set.include(x);
    }
    return result_set;
}
Добавлено через 9 минут
Демо:
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
#include <iostream>
#include "set.h"
int main()
{
    CSet set1, set2, result_set;
    set1.include(5); set1.include(18);
    set2.include(5); set2.include(18); set2.include(6);
    std::cout<<"Welcome to the sets demo program!\n Printing sets:\nSet 1:\n";
    set1.print();
    std::cout<<"\nSet 2:\n";
    set2.print();
    std::cout<<"\nUnion of the sets:\n";
    result_set = set1 + set2;
    result_set.print();
    std::cout<<"\nIntersection of sets:\n";
    result_set = set1 * set2;
    result_set.print();
    std::cout<<"\nSets difference:\n";
    result_set = set1 - set2;
    result_set.print();
    std::cout<<"\nSelecting a value from the set by index (first el. from the Set 1):\n";
    std::cout<<set1[0];
    std::cout<<"\nСheck for the occurrence (number 5 in set1):\n";
    std::cout<<set1.contains(5);
    std::cout<<"\nGetting the length of Set 1:\n";
    std::cout<<set1.length();
 
 
    return 0;
}
1
xumera
1 / 1 / 0
Регистрация: 05.07.2012
Сообщений: 81
16.11.2013, 22:39  [ТС] #5
Огромное спасибо!!!!!!!!!!!!!!!

Добавлено через 6 минут
А на C++ Buldere запускаться будет, потому что препод не позволяет запускать на visual studio????
0
VladislavTepes
78 / 78 / 5
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
17.11.2013, 06:54 #6
xumera, честно говоря, не знаю - не имел дела с Билдером. Но вроде как должен.
1
Krip4yk
1 / 1 / 1
Регистрация: 10.12.2014
Сообщений: 42
15.03.2015, 16:11 #7
У меня эта программа не компилируется ни на Dev ни на Visual.
Ошибки в циклах for() в set.cpp
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2015, 16:11
Привет! Вот еще темы с ответами:

Объединение, пересечение, разность множеств - C++
Это вполне стандартный алгоритм,может есть у кого готовый? Объединение, пересечение, разность множеств. Поверка на включение одного...

Объединение, пересечение, разность множеств - C++
#include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;math.h&gt; ...

Объединение, пересечение и разность множеств с помощью оператора SWITCH - C++
Помогите пожалуйста написать программу объединение,пересечение и разность множеств с помощью оператора SWITCH ....ввод элементов с...

Класс "Длинных чисел", основные арифметические операции (найти причины и способы устранения ошибки) - C++
Всем привет:) помогите пожалуйста решить проблему: делаю класс длинных чисел, обязательно нужно использовать конструкторы(по умолчанию, с...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
15.03.2015, 16:11
Ответ Создать тему
Опции темы

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