0 / 0 / 0
Регистрация: 26.09.2019
Сообщений: 5
1

Логические операции над множествами

27.09.2019, 13:53. Показов 4298. Ответов 5
Метки нет (Все метки)

пусть
U - множество целых чисел от 0 до 25
А - множество чисел с U, кратных n,
Б - множество чисел с U, не больше n,
В - множество чисел с U, которые являются точными квадратами.
1) Записать коды подмножеств А, Б, В.
2) Записать коды пересечения множеств А и Б.
3) Записать коды объединения множеств Б и В.
4) Записать код дополнение к множеству А.
У меня номер 2 (n=2).
А={0,2,4,6,8,10,12,14,16,18,20,22,24};
Б={0,1,2};
C={4,9,16,25};
я уже неделю ломаю голову. На бумаге я уже все решил. Но не знаю как это в код превратить
Буду очень благодарен.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2019, 13:53
Ответы с готовыми решениями:

Выполнить логические операции над множествами, записанными в файлы
Помогите пожалуйста написать программу на C++ Дано 3 множества А, В, С. Элементы множеств...

Операции над множествами
Прошу помочь с написанием программы на с++. Нужно чтобы выполнялись операции над множествами,...

Операции над множествами
Найти A B C, A ∩ B ∩ C, (A ∩ B) C, A ∩ (B C), если A={{1;2},{1;3},{2}},...

Реализовать операции над множествами
Собственно только началась учеба на первом курсе,и вот препод задал написать програму,которая...

5
652 / 456 / 212
Регистрация: 06.09.2013
Сообщений: 1,253
27.09.2019, 18:12 2
Лучший ответ Сообщение было отмечено CommissarT как решение

Решение

CommissarT,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <bitset>
 
int main()
{
    constexpr int max{25}, n{2};
    std::bitset<max> A{0}, B{0}, C{0};
    for(int i = 0; i <= max; i++) {       
        A[i] = (i & 1) == 0;
        B[i] = i <= n;
        if(i * i < max) C[i * i] = true;
    }
    std::cout << "A = " << A << std::endl;
    std::cout << "B = " << B << std::endl;
    std::cout << "C = " << C << std::endl;
    std::cout << "A & B = " << (A & B) << std::endl;
    std::cout << "A | B = " << (A | B) << std::endl;
    std::cout << "~A = " << (~A) << std::endl;
}
1
0 / 0 / 0
Регистрация: 26.09.2019
Сообщений: 5
30.09.2019, 13:39  [ТС] 3
Цитата Сообщение от woldemas Посмотреть сообщение
CommissarT,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <bitset>
 
int main()
{
    constexpr int max{25}, n{2};
    std::bitset<max> A{0}, B{0}, C{0};
    for(int i = 0; i <= max; i++) {       
        A[i] = (i & 1) == 0;
        B[i] = i <= n;
        if(i * i < max) C[i * i] = true;
    }
    std::cout << "A = " << A << std::endl;
    std::cout << "B = " << B << std::endl;
    std::cout << "C = " << C << std::endl;
    std::cout << "A & B = " << (A & B) << std::endl;
    std::cout << "A | B = " << (A | B) << std::endl;
    std::cout << "~A = " << (~A) << std::endl;
}
При компиляции появилась ошибка. На скрине видно
Миниатюры
Логические операции над множествами  
0
6571 / 4556 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
30.09.2019, 13:43 4
Лучший ответ Сообщение было отмечено CommissarT как решение

Решение

Цитата Сообщение от CommissarT Посмотреть сообщение
При компиляции появилась ошибка. На скрине видно
Это не при компиляции, а при выполнении. Сделай std::bitset<max> A(max), B(max), C(max);
1
0 / 0 / 0
Регистрация: 26.09.2019
Сообщений: 5
30.09.2019, 13:49  [ТС] 5
Все поменял компилятор и оно ожило. Но остался вопрос почему и как с ним боротся.
0
6571 / 4556 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
30.09.2019, 13:53 6
Лучший ответ Сообщение было отмечено CommissarT как решение

Решение

Цитата Сообщение от CommissarT Посмотреть сообщение
Все поменял компилятор и оно ожило. Но остался вопрос почему и как с ним боротся.
Потому что твои массивы A, B, C были пустыми, size() == 0. Нельзя вызывать оператор [] для индекса, который больше размера.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2019, 13:53
Помогаю со студенческими работами здесь

Продемонстрировать операции над множествами
Помогите перевести код с Pascal на С++: program Demonstrator; type T_Digit = set of byte; ...

Операции над множествами - прокомментировать строку кода
Это оперции над множествами Объясните пожалуйста что делает в case2. Хотя бы одну объясните пжл ...

Основные операции теории множеств над двумя числовыми множествами
Здравствуйте! Напишите пожалуйста, программу, которая реализует основные операции теории множеств...

Реализовать базовые операции над множествами: объединение, пересечение, дополнение
Вот как звучит задание: &quot;Объект: множество символов алфавита. Реализовать базовые операции над...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru