|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.11.2013, 19:59 | #1 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
Алгебра событий
Как
Реализовать алгебру событий (сложение, вычитание, умножение ТБД) по ключевому полю. Сложение ТБД(Таблица базы данных) – из двух ТБД создать третью ТБД по условию: включаются записи, входящие хотя бы в одну из первых двух Вычитание ТБД – из двух ТБД создать третью ТБД, по условию: включаются записи, входящие в первую, но не входящие во вторую Умножение ТБД - из двух ТБД создать третью ТБД, по условию: включаются записи, входящие в первую и во вторую ТБД. Данный пример: A*B-C*D; A={cba; abc;cb;sdf;qweq} B={abc;cb;bcd;asdf;ssdf} C={abc;bcd;ab;cba;rtyhfg} D={bcd;ab;cd;abc;wert} если имеется такой код: Код:
Код:
Последний раз редактировалось Diana528; 25.11.2013 в 20:21. |
25.11.2013, 20:07 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ничесе... Впервые даже слышу о таком О_о
I'm learning to live...
|
25.11.2013, 20:10 | #3 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
вот вот(( а примерно?
главная программа: Код:
Последний раз редактировалось Diana528; 25.11.2013 в 20:14. |
25.11.2013, 21:10 | #4 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Так а в чем конкретно проблема? Нужно заполнить чем-то два экземпляра PharmV, и реализовать для них объединение, пересечение и вычитание (или как там оно правильно в теории множеств называется).
btw, в С++ есть готовые алгоритмы для этого - std::set_union, std::set_intersection и std::set_difference. |
25.11.2013, 21:17 | #5 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
проблема в реализации этих функций:
Код:
а также с конструктором |
25.11.2013, 21:26 | #6 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Окей, давай разобьем на подзадачи. Тебе нужно:
1) Перегрузить для Remedy operator<, который будет их как-то сравнивать (по названию, например, это и будет "ключевое поле"); 2) Почитать про std::set_difference, std::set_union и std::set_intersection (первая ссылка в гугле); 3) Попробовать их использовать (set_intersection для multiply, set_difference для differ и set_union для третьей, которой у тебя нет); 4) Спросить здесь, если что-то будет непонятно в процессе. Последний раз редактировалось Son Of Pain; 25.11.2013 в 21:29. |
25.11.2013, 21:29 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Это называется булевая алгебра
I'm learning to live...
|
25.11.2013, 21:42 | #8 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
а третья это какая функция?
|
25.11.2013, 21:50 | #9 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Третья должна "реализовать сложение тбд", видимо
|
25.11.2013, 22:01 | #10 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
в моей формуле только разность и умножение...там просто разные варианты
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Векторная алгебра | ACE Valery | Помощь студентам | 55 | 13.02.2014 23:18 |
алгебра на Си | lika1129970 | Помощь студентам | 5 | 02.06.2013 17:57 |
Булева алгебра | ips-123321 | Общие вопросы C/C++ | 4 | 11.09.2011 18:40 |
Алгебра матриц | kok222 | Помощь студентам | 13 | 13.05.2010 08:55 |
Алгебра | Zmaxer | Помощь студентам | 4 | 12.10.2009 19:04 |