fojtasd

Untitled

Apr 13th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.66 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class DynamicIntegerSet
  5. {
  6. public:
  7.     DynamicIntegerSet()
  8.     {
  9.         currentSize = 0;
  10.         maxSize = 4;
  11.         dynamicArray = new int[maxSize];
  12.     }
  13.  
  14.     ~DynamicIntegerSet() {
  15.         delete[] dynamicArray;
  16.     }
  17.  
  18.     int Add(const int x);
  19.     void Delete(const int x);
  20.     bool IsMember(const int x) const;
  21.     bool IsEmpty(const int x) const;
  22.     int Count() const;
  23.     void Print() const;
  24.  
  25.  
  26. private:
  27.     int* dynamicArray;
  28.     int currentSize;
  29.     int maxSize;
  30.     int counter;
  31. };
  32.  
  33.  
  34. int DynamicIntegerSet::Add(const int x)
  35. {
  36.     if (currentSize == maxSize)
  37.     {
  38.         maxSize = maxSize * 2;
  39.         int* tempArray = new int[maxSize];
  40.         for (int i = 0; i < currentSize; i++)
  41.         {
  42.             tempArray[i] = dynamicArray[i];
  43.         }
  44.         tempArray[currentSize] = x;
  45.         currentSize++;
  46.         dynamicArray = tempArray;
  47.         counter++;
  48.     }
  49.     else
  50.     {
  51.         dynamicArray[currentSize] = x;
  52.         currentSize++;
  53.         counter++;
  54.     }
  55.     return currentSize;
  56. }
  57.  
  58. void DynamicIntegerSet::Delete(const int x)
  59. {
  60.     for (int i = 0; i < currentSize; i++)
  61.     {
  62.         if (dynamicArray[i] == x)
  63.         {
  64.             for (; i < currentSize - 1; i++)
  65.             {          
  66.                 dynamicArray[i] = dynamicArray[i + 1];
  67.             }
  68.  
  69.             dynamicArray[currentSize - 1] = 0;
  70.             currentSize = currentSize - 1;
  71.             counter--;
  72.             cout << "Polozka byla umazana." << endl;
  73.         }
  74.     }
  75. }
  76.  
  77. bool DynamicIntegerSet::IsMember(const int x) const {
  78.     for (int i = 0; i < currentSize; i++)
  79.     {
  80.         if (dynamicArray[i] == x)
  81.         {
  82.             cout << "Polozka " << x << " je soucasti mnoziny." << endl;
  83.             return true;
  84.         }
  85.     }
  86.     cout << "Polozka " << x << " neni soucasti mnoziny." << endl;
  87.     return false;
  88. };
  89.  
  90. bool DynamicIntegerSet::IsEmpty(const int x) const
  91. {
  92.     if (counter == 0)
  93.     {
  94.         return true;
  95.     }
  96.     else
  97.     {
  98.         return false;
  99.     }
  100. };
  101.  
  102. int DynamicIntegerSet::Count() const {
  103.  
  104.     return counter;
  105. };
  106.  
  107. void DynamicIntegerSet::Print() const {
  108.     for (int i = 0; i < currentSize; i++)
  109.     {
  110.         cout << dynamicArray[i] << endl;
  111.     }
  112.  
  113.  
  114. };
  115.  
  116. int main()
  117. {
  118.     DynamicIntegerSet intDynArray;
  119.    
  120.  
  121.     int a = 9;
  122.     int b = 16;
  123.     int c = 26;
  124.     int d = 5;
  125.  
  126.     intDynArray.Add(a);
  127.     intDynArray.Add(b);
  128.     intDynArray.Add(c);
  129.     intDynArray.Add(d);
  130.     intDynArray.Add(37);
  131.     intDynArray.Add(27);
  132.     intDynArray.Add(28);
  133.     intDynArray.Add(18);
  134.     intDynArray.Add(4);
  135.     intDynArray.Add(3);
  136.     intDynArray.Add(20);
  137.     intDynArray.Add(24);
  138.     intDynArray.Print();
  139.     cout << "-----------------------------------" << endl;
  140.     intDynArray.IsMember(100);
  141.     intDynArray.IsMember(26);
  142.     cout << intDynArray.Count() << endl;
  143.     intDynArray.Delete(26);
  144.     intDynArray.Delete(24);
  145.     intDynArray.Delete(3);
  146.     intDynArray.Delete(9);
  147.     intDynArray.Delete(39);
  148.     intDynArray.Delete(18);
  149.     intDynArray.Print();
  150.  
  151.    
  152.    
  153.     system("pause");
  154. }
Advertisement
Add Comment
Please, Sign In to add comment