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

Реализовать классические операции над множествами - объединение, пересечение и симметричная разность - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
03.05.2014, 18:27     Реализовать классические операции над множествами - объединение, пересечение и симметричная разность #1
Создать параметризованный тип данных - множество. Этот тип предназначен для хранения множества элементов и выполнения операций над ними. Реализовать классические операции над множествами - объединение, пересечение и симметричная разность. Для создания данного типа необходимо иметь простые представления о теории множеств.
Я не понимаю, как это можно реализовать? При помощи символьного массива?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2014, 18:27     Реализовать классические операции над множествами - объединение, пересечение и симметричная разность
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melg
416 / 152 / 62
Регистрация: 23.09.2013
Сообщений: 306
03.05.2014, 19:14     Реализовать классические операции над множествами - объединение, пересечение и симметричная разность #2
Ну тут возникает вопрос в том из какой страты подготовленности программиста эта задача.
Имеется ли под "Создать параметризированный тип данных" - создание шаблонного класса? Где параметром выступает тип хранимого объекта в множестве. В общем случае для реализации такого рода задачи Вам понадобится две вещи.
Во-первых некоторый тип, который будет составлять сами элементы множества. Ну это может быть int, double, char, указатель, пользовательский тип. Главное, что необходимо для этого типа - наличие операции сравнения, (достаточно чтобы был определен результат выражения a < b ).
Во-вторых сам "параметризированный тип данных" - ну в контексте с++ это класс. Который будет внутри себя содержать набор элементов из множества. Каким образом он будет хранить - это дело реализации, но можно например в std::vector, ну или std::set для автоматической поддержки уникальности элементов в множестве.
Ну объединение - его результат это множество, которое состоит из всех элементов из 1ого множества + всех элементов из 2ого множества, без повторов (без двух элементов которые равны друг другу). Самый простецкий вариант: целые типы данных, скажем - первое множество это 1, 5, 7 , 9 , второе - 1,2,3,4,5 - Результат объединения будет 1,2,3,4,5,7,9 - для реализации такого рода операции достаточно 3х целочисленных массивов.
Yandex
Объявления
03.05.2014, 19:14     Реализовать классические операции над множествами - объединение, пересечение и симметричная разность
Ответ Создать тему
Опции темы

Текущее время: 17:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru