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

Класс множество - C++

Восстановить пароль Регистрация
 
noobPHP
0 / 0 / 0
Регистрация: 17.01.2014
Сообщений: 14
03.03.2014, 18:20     Класс множество #1
Добрый день!

Задача:
Описать класс «множество», позволяющий выполнять основные операции — добавление
и удаление элемента, пересечение, объединение и разность множеств.
Написать программу, демонстрирующую работу с этим классом. Программа должна
содержать меню, позволяющее осуществить проверку всех методов класса.

Помогите или подскажите, как реализовать методы пересечение, объединение и разность множеств.

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
class Set {
private:
    int size;           // размер массива
    int *arr;           // указатель на массив
public: 
    Set (int a[], int s) { // конструктор в который передается массив множества и его размер
        size = s;
        arr = new int[s];
        arr = a;
    }
 
    void print() { // вывод массива
        for(int i(0); i < size; i++) {
            cout << arr[i] << " ";
        }
    }
 
    void DeleteItem(int item) {  // удаление элемента из множества, вводим эл-т который нужно удалить
        for(int i(0); i < size; i++) {
            if(arr[i] == item) {
                for(int j(i); j < size; j++) {
                    arr[j] = arr[j + 1];
                }
                size--;
                i--;
            }
        }
    }
 
    int *getNewArray(int a[]) { //получение массива размером больше на 1, и в него копируется старый массив
        size++;
        int *arr = new int[size];
        for(int i(0); i < size - 1; i++) {
            arr[i] = a[i];
        }
        return arr;
    }
 
    int getMaxItem(int a[]) { //получение максимального элемента
        int *mas = a;
        int max = mas[0];
        for(int i(1); i < size; i++) {
            if(max < mas[i]) {
                max = mas[i];
            }
        }
        return max;
    }
 
    void AddItem(int item) { //добавление эл-та в множество
        *arr = *getNewArray(arr);
        int max = getMaxItem(arr);
        for(int i(0); i < size - 1; i++) {
            if(arr[i] >= item) {
                for(int j(size); j > i; j--) {
                    arr[j] = arr[j - 1];
                }
                arr[i] = item;
                break;
            }
            if(arr[i] == max) {
                for(int j(size); j > i; j--) {
                    arr[j] = arr[j - 1];
                }
                arr[i + 1] = item;
                break;
            }
        }
    }
 
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2014, 18:20     Класс множество
Посмотрите здесь:

C++ Класс множество
Создать класс описывающий множество C++
C++ Класс Множество
C++ [C++] Класс «множество символов»
Описать класс множество C++
C++ класс реализующий множество
C++ Класс «множество целых чисел»
Класс – множество C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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