Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Suger
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 37
1

Множества (найти их объединение)

02.12.2012, 18:32. Просмотров 541. Ответов 0
Метки нет (Все метки)

Решаю задачу: ввести н-ое количество множеств и найти их обьединение. Объединение это новое множество в состав которого входят элементы первого второго и n-го множества, если элементы в множествах одинаковые, то их добавлять не надо.
A={1,2,3}
B={2,3,6}
Их обьединение будет C={1,2,3,6}
Я почти сделал программу но не получаеться почему-то обьеденить их нормально...да я бы сказал никак их объеденить не получаеться, помогите дописать пожалуйста:
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
#include <iostream>
#include <cstring>
using namespace std;
 
int k=0;
void addSet();
/*-------------класс Множество-----------*/
class Set
{
private:
    char element[100];
public:
    Set()
    {
        element[0]='\0';
    }
    Set(char s[])
    {
        strcpy(element,s);
    }
    void getElement()
    {
        cout<<"Введите элементы множества: ";
        cin>>this->element;
    }
    void showElements()
    {
        static int set_number=1;
        cout<<"Множество "<<set_number<<": "
            <<this->element;
        cout<<endl;
        set_number++;
    }   
    Set united(Set sets[],Set sets1[])
    {
        Set temp;
        temp=strcpy(sets.element,sets1.element);
        return temp;
    }
};
 
int main()
{
    setlocale(0,"");
    addSet();
    return 0;
}
 
/*------------Создание множеств и вывод на экран-----------*/
void addSet()
{
    Set *sets[9];
    char choice;
    
    do 
    {
        sets[k]=new Set;
        sets[k]->getElement();
        k++;
        cout<<"Желаете ли вы добавить ещё одно множество?(Y\\N)"; cin>>choice;
    } while (choice=='y');
 
    for(int i=0;i<k;i++)
    {
        sets[i]->showElements();
    }
    cout<<endl;
    cout<<"Объединение: ";   /*создал новый обьект и запомнил его номер, далее в него sets[p] нужно произвести обьединение всех существующих множеств */
    sets[k]=new Set; k++;
    int p=k;
    for(int m=0;m<k-1;m++)
        sets[p]->united(sets[m],sets[m+1]);
        sets[p]->showElements();
        cout<<endl;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 18:32
Ответы с готовыми решениями:

Множества , объединение и пересечение за раз
Нужно написать программу, операции над множествами (А объединение B)...

Множества . Найти разность полученного множества с заданным
Всем доброго времени суток! Необходима ваша помощь. Никак не могу сделать...

Найти объединение двух списков
Помогите мне решить задачку, я в принципе не понимаю как её решать, вот её...

Найти объединение двух множеств
Необходимо найти объединение двух множеств, но программа некорректно выдает...

Дано множество отрезков, найти max объединение
дано множество отрезков.найти max объединение.подскажите плиз алгоритм.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2012, 18:32

Найти диаметр множества
Найти диаметр множества – максимальное расстояние между любыми двумя точками...

Найти подмножество множества
Программа должна позволять вводить с клавиатуры множество чисел, и находить...

Найти Булеан множества типа {a,b,c}
Доброго времени суток, помогите написать метод нахождения булеана множества....


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

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

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