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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести таблицу умножения чисел от 11 до 20 http://www.cyberforum.ru/cpp-beginners/thread716630.html
Вывести таблицу умножения чисел от 11 до 20 в программе С++
C++ Немогу найти ошибку в коде Задание:Распечатать фамилии тех учеников, которые не получили ни одной тройки за последнюю четверть. В каких классах учатся эти ученики? Каков их средний балл? При вводе фамилии ученика окно закривается. #include <stdio.h> #include <time.h> #include <conio.h> #include <iostream.h> http://www.cyberforum.ru/cpp-beginners/thread716614.html
C++ Динамическое программирование (Определить оптимальный план производства)
Предприятие выпускает 4 вида продукции, используя два вида сырья в пределах выделенных фондов В1 и В2. Нормы расхода сырья на единицу продукции приведены в табл. Сырье Нормы расхода на единицу продукции 1-й вид 2-й вид 3-й вид 4-й вид В I 2; 4 1 2 18 II 4; ...
C++ программа на ввод числа и ввывод информации
нужно составить программу "ввести номер месяца и вывести название месяца и номер квартала" через команду if у меня получилось такое, но когда ввожу номер всегда выводит январь. помогите найти ошибку //--------------------------------------------------------------------------- #include <vcl.h> #include <iostream.h> #include <conio.h> #pragma hdrstop ...
C++ Организовать очередь (заполнение, добавление, нахождение среднего арифметического) http://www.cyberforum.ru/cpp-beginners/thread716599.html
Организовать очередь, заполнить ее случайными числами и сделать функции добавления в очередь и нахождения среднего арифметического чисел записанных в очередь и их количества. Величина очереди заранее неизвестна.
C++ Имеется ли в целочисленном массиве два идущих подряд нуля? Имеется ли в целочисленном массиве два идущих подряд нуля? Ответ вывести в виде "ДА" или "НЕТ" Спасибо заранее, очень нужно... подробнее

Показать сообщение отдельно
Suger
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 37

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

02.12.2012, 18:32. Просмотров 456. Ответов 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;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru