Advertisement
Josif_tepe

Untitled

Oct 16th, 2021
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.78 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. class Array {
  5. private:
  6.     int capacity;
  7.     int at;
  8.     int *arr;
  9. public:
  10.     Array(int _capacity) {
  11.         capacity = _capacity;
  12.         at = 0;
  13.         arr = new int[capacity];
  14.     }
  15.     ~Array() {
  16.        
  17.     }
  18.     void add(int x) {
  19.         if(at == capacity) {
  20.             int *tmp_arr = new int[capacity];
  21.             for(int i = 0; i < at; i++) {
  22.                 tmp_arr[i] = arr[i];
  23.             }
  24.             capacity *= 2;
  25.             arr = new int[capacity];
  26.             for(int i = 0; i < at; i++) {
  27.                 arr[i] = tmp_arr[i];
  28.             }
  29.         }
  30.         arr[at] = x;
  31.         at++;
  32.     }
  33.     void change(int a, int b) {
  34.         for(int i = 0; i < at; i++) {
  35.             if(arr[i] == a) {
  36.                 arr[i] = b;
  37.             }
  38.         }
  39.     }
  40.     void deleteAll(int x) {
  41.         int *tmp_arr = new int[capacity];
  42.         int tmp_at = 0;
  43.         for(int i = 0; i < at; i++) {
  44.             if(arr[i] != x) {
  45.                 tmp_arr[tmp_at] = arr[i];
  46.                 tmp_at++;
  47.             }
  48.         }
  49.         arr = new int [capacity];
  50.         for(int i = 0; i < tmp_at; i++) {
  51.             arr[i] = tmp_arr[i];
  52.         }
  53.         at = tmp_at;
  54.     }
  55.     void print() {
  56.         for(int i = 0; i < capacity; i++) {
  57.             if(i < at) {
  58.                 cout << arr[i] << " ";
  59.             }
  60.             else {
  61.                 cout << " _ ";
  62.             }
  63.         }
  64.         cout << endl;
  65.     }
  66. };
  67. int main() {
  68.     Array a(5);
  69.     a.add(2);
  70.     a.add(3);
  71.     a.add(4);
  72.     a.print();
  73.    
  74.     a.add(5);
  75.     a.add(6);
  76.     a.print();
  77.    
  78.     a.add(7);
  79.     a.print();
  80.    
  81.    
  82.     a.change(2, 10);
  83.     a.print();
  84.    
  85.     a.deleteAll(5);
  86.     a.print();
  87.     return 0;
  88. }
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement