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

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

14.03.2015, 15:00. Показов 3767. Ответов 5
Метки нет (Все метки)

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
79
80
81
82
83
84
85
86
# include <iostream>
# include <conio.h>
# include <string>
# include <stdio.h>
#include <cstdlib>
 
const int CHUNK_SIZE=10;
class set{
  private:
    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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2015, 15:00
Ответы с готовыми решениями:

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

Описать класс "множество", позваляющий выполнять основные операции
Описать класс &quot;множество&quot;, позваляющий выполнять основные операции: добавление и удаление элемента,...

Описать шаблон класса «множество», позволяющий выполнять основные операции – добавление и удаление элемента, п
Описать шаблон класса «множество», позволяющий выполнять основные операции – добавление и удаление...

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

5
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
14.03.2015, 15:46 2
Исправить можно и так
C++
1
2
3
4
5
6
#include <iostream>
int main()
{
    std::cout<<"Hello!";
    return 0;
}
Пишите, что не так?

Добавлено через 10 минут
Устранил ошибки компиляции
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
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
//# include <conio.h>
//# include <string>
//# include <stdio.h>
//#include <cstdlib>
 
const int CHUNK_SIZE=10;
class set
{
  private:
    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(int i=0; i<size; i++) // i не был объявлен
        data[i]=copy.data[i];
    }
    set& operator = (const set& copy) // ; <- что она тут делает
    {
      if (this!=&copy)
      {
        delete[] data;
        size=copy.size;
        bufsize=copy.bufsize;
        data=new int[bufsize];
     
        for(int i=0; i<size; i++) // 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;
}
1
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 30
14.03.2015, 15:48  [ТС] 3
zss, вот задание, не могу понять в чем проблема,
Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции - добавление и удаление элемента, пересечение, объединение и разность множеств. Все операции реализовать в виде перегрузки операторов. Программа должна содержать меню, позволяющее осуществлять проверку всех методов.
0
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
14.03.2015, 16:35 4
Ну, теперь код компилируется.
Не хватает только деструктора и, естественно, main.
Пробуйте!
0
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 30
14.03.2015, 17:32  [ТС] 5
zss, большое спасибо.
0
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 30
15.03.2015, 16:22  [ТС] 6
Помогите пожалуйста с программой.
Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции - добавление и удаление элемента, пересечение, объединение и разность множеств. Все операции реализовать в виде перегрузки операторов. Программа должна содержать меню, позволяющее осуществлять проверку всех методов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2015, 16:22
Помогаю со студенческими работами здесь

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

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

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

Описать класс «множество», позволяющий выполнять основные операции: добавление и удаление элемента
Помогите пожалуйста с задачей по с#.БУДУ ОЧЕНЬ ПРИЗНАТЕЛЬНА Описать класс «множество», позволяющий...


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

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

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