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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
boris
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 5
#1

Описать класс "множество", позваляющий выполнять основные операции - C++

19.04.2012, 23:12. Просмотров 2224. Ответов 3
Метки нет (Все метки)

Описать класс "множество", позваляющий выполнять основные операции: добавление и удаление элемента, перечисление,обьединение и разность множеств. Обязательное использование перегрузки операции.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2012, 23:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать класс "множество", позваляющий выполнять основные операции (C++):

Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции - C++
# include <iostream> # include <conio.h> # include <string> # include <stdio.h> #include <cstdlib> const int CHUNK_SIZE=10; ...

Описать класс "множество", позволяющий выполнять основные операции - добавления и удаление элемента, пересечение, множеств, объединение и разность мно - C++
Люди помогите написать программу, очень нужно!!! Буду очень благодарный........ 1. Описать класс "множество", позволяющий выполнять...

Класс "Длинных чисел", основные арифметические операции (найти причины и способы устранения ошибки) - C++
Всем привет:) помогите пожалуйста решить проблему: делаю класс длинных чисел, обязательно нужно использовать конструкторы(по умолчанию, с...

Класс "Множество" и операции над ним - C++
Не хватает опыта понять ошибку Здравствуйте! Никак не получается тот же результат хотя проверял несколько раз вот само задание: ...

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

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: "+",...

3
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,798
Записей в блоге: 17
19.04.2012, 23:45 #2
используйте динамический массив в качестве хранилища внутри класса, если надо поддерживать разные типы используйте шаблоны.
0
boris
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 5
23.04.2012, 12:29  [ТС] #3
если бы я мог это все делать )
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
23.04.2012, 16:53 #4
вот, набросал в блокноте.
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
72
73
74
75
76
77
78
const int CHUNK_SIZE=10;
class set{
  protected:
    int *data;
    int size;
    int bufsize;
  public:
    const int getsize(){return size;}
    const int buffersize(){return bufsize;}
    set():size(0), bufsize(CHUNK_SIZE), data(new int[CHUNK_SIZE]){}
    set(set& copy): size(copy.size), bufsize(copy.bufsize){
      delete[] data;
      data=new int[bufsize];
      for(i=0; i<size; i++)
        data[i]=copy.data[i];
    }
    set& operator = (set& copy)
      int i;
      if (this!=&copy){
        delete[] data;
        size=copy.size;
        bufsize=copy.bufsize;
        data=new int[bufsize];
     
        for(i=0; i<size; i++)
          data[i]=copy.data[i];
      }
    } 
    void add(int value){
      int i;
      int* d;
      for(i=0; i<size; i++)
        if (data[i]==value) i=size+1;
      if (i!=size+1){
        data[size]=value;
        size++;
        if(size==bufsize){
          bufsize+=CHUNK_SIZE;
          d=new int[bufsize];
          for(i=0; i<size; i++)
            d[i]=data[i];
          delete[] data;
          data=d;
        }     
      }
    }
    bool remove(int value){
      int i;
      bool searching=true;
      for (i=0; (i<size)&&(searching); i++)   
        if (data[i]==value) searching=false;
      if (!searching){
        for (i=i-1; i<size-1; i++)
          data[i]=data[i+1];
        return true;
      }
      return false;
    }
    int operator[] (int id){if ((id<size)&&(id>=0)) return data[id]; else {std::cerr<<"Error index "; return 0;}}
    
    friend set operator + (set, set);
    friend set operator - (set, set);
    ~set(){delete[] data;}
};
set operator + (set a, set b){
  set temp=a;
  int i;
  for (i=0; i<b.size; i++)
    temp.add(b.data[i]);
  return temp;
}
set operator + (set a, set b){
  set temp=a;
  int i;
  for (i=0; i<b.size; i++)
    temp.remove(b.data[i]);
  return temp;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2012, 16:53
Привет! Вот еще темы с ответами:

Описать класс "Контейнер" как объект, предназначенный для транспортировки классов "Строительных блоков" - C++
1. Опишите класс &quot;Строительный блок&quot;, описывающий габариты и массу блока прямоугольной формы. Данные класса: Габариты, масса. Методы...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...


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

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

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