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

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

Войти
Регистрация
Восстановить пароль
 
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
#1

Множества - C++

13.09.2012, 19:54. Просмотров 626. Ответов 3
Метки нет (Все метки)

Здравствуйте, в общем у меня задание реализовать класс "множества" на С++ и добавить методы операций с множествами, я только начал писать, и сделал ввод множеств и вывод:
и вот остановился на одном из пунктов который гласит "множество может быть элементом другого множества", и вот никак не могу придумать как это реализовать, помогите пожалуйста.
Мои наброски:
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
// PPvIS_laba_1.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
void addSet();
/*-------------класс Множество-----------*/
class Set
{
    private:
        char element[100];
    public:
        void getElement()
        {
            cout<<"Введите элементы множества: ";
            cin>>this->element;
        }
        void showElements()
        {
            static int set_number=1;
            cout<<"Множество "<<set_number<<": "
                <<this->element;
            cout<<endl;
            set_number++;
        }   
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0,"");
    addSet();
    return 0;
}
 
/*------------Создание множеств и вывод на экран-----------*/
void addSet()
{
    Set *sets[4];
    char choice;
    static int k=0;
    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();
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 19:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Множества (C++):

Число изъять из множества А, если оно является элементом множества А, но не является элементом множества В - C++
Введено с клавиатуры число изъять из множества А, если оно является элементом множества А, но не является элементом множества В. ...

Множества. Вычислить количество элементов множества Q, связанного c исходными множествами - C++
В общем задание звучит так : Заданы 3 упорядоченных множества F, G и H, представленные файлами f, g и h соответственно. Вычислить...

Квадрат с вершинами из первого множества накрывает все точки второго множества и имеет минимальную площадь - C++
Даны два множества точек на плоскости. Выбрать четыре различных точки первого множества так, чтобы квадрат с вершинами в этих точках...

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

Множества. Проверка множества на наличие элемента в нем - C++
Во многих задачах сталкиваюсь с одной и той же проблемой: Нужно создать множество элементов, добавлять в него новые элементы и проверять...

Удалить из множества А минимальный элемент множества В - C++
Удалить из множества А минимальный элемент множества В. могу удалить из A все елементи B. а минимальний нет( #include &lt;iostream&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
13.09.2012, 23:52 #2
вам придется узнать, что такое шаблоные классы в с++ и как с ними работать. Без понимания этого вы не напишите один класс множества, который бы мог работать со множеством разных типов. Ваш вариант "множества" может работать только с типом char и то почему-то в нем может быть не больше сотни элементов. В общем еще раз курите тему на счет шаблонов в с++ ну и как устроенны всякие стандартные контейнеры. std::set<> - похоже как раз такое множество, которое вам нужно. Но по исходникам вы врятли разберетесь. Так что сперва нужно освоить базовые вещи.
0
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.09.2012, 01:39 #3
И ещё уточните такой момент: универсум. Какие элементы могут быть в допустимых множествах, кроме множеств из допустимых элементов.

Не по теме:

Хотя, даже такого определения достаточно для представления натуральных чисел, а значит, и всех счётных объектов :)
{} ≡ 0, {{}} ≡ 1, {{{}}} ≡ 2, ...

0
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
14.09.2012, 16:51  [ТС] #4
Цитата Сообщение от DU Посмотреть сообщение
вам придется узнать, что такое шаблоные классы в с++ и как с ними работать. Без понимания этого вы не напишите один класс множества, который бы мог работать со множеством разных типов. Ваш вариант "множества" может работать только с типом char и то почему-то в нем может быть не больше сотни элементов. В общем еще раз курите тему на счет шаблонов в с++ ну и как устроенны всякие стандартные контейнеры. std::set<> - похоже как раз такое множество, которое вам нужно. Но по исходникам вы врятли разберетесь. Так что сперва нужно освоить базовые вещи.
Что через шаблоны сделать можжно я знаю, но мы их не проходили и нам сказали чтобы мы работали сейчас без них. У нас тема идёт "класса и объекты", а пр
о шаблоны сказали пока не думать, только упомянули о том что они существуют и что в будущем мы будем с ними работать....

Добавлено через 1 минуту
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
И ещё уточните такой момент: универсум. Какие элементы могут быть в допустимых множествах, кроме множеств из допустимых элементов.

Не по теме:

Хотя, даже такого определения достаточно для представления натуральных чисел, а значит, и всех счётных объектов :)
{} ≡ 0, {{}} ≡ 1, {{{}}} ≡ 2, ...

мне кажется я не совсем понял что вы спрашиваете, но, зачем тут универсум?
Элементами множества могут быть любые буквы английского алфавита.

Добавлено через 9 часов 6 минут
Цитата Сообщение от Elfenlide Посмотреть сообщение
Что через шаблоны сделать можжно я знаю, но мы их не проходили и нам сказали чтобы мы работали сейчас без них. У нас тема идёт "класса и объекты", а пр
о шаблоны сказали пока не думать, только упомянули о том что они существуют и что в будущем мы будем с ними работать....

Добавлено через 1 минуту


мне кажется я не совсем понял что вы спрашиваете, но, зачем тут универсум?
Элементами множества могут быть любые буквы английского алфавита.
В общем мне подсказали как это реализовать, нужно использовать тип Union - обьединения и список,например стек.Спабо откликнувшимся.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2012, 16:51
Привет! Вот еще темы с ответами:

Сформировать два множества, первое содержит все простые числа из данного множества, второе - все составные - C++
Условие задачи следующее:Имеется множество, содержащее натуральные числа из некоторого диапазона. Сформировать два множества, первое из...

Множества. - C++
Добрый день. Лаба. Прошу взглянуть, подсказать как это решают. Хоть примерный алгоритм ну или другую посильную помощь. Цель работы:...

Множества - C++
Составить программу, возвращающую множество, за- данное некоторой последовательностью произвольных чи- сел натурального ряда, вводимых...

Множества - C++
Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а согласные заменить на прописные.


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

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

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