#include using namespace std; class Array { private: int capacity; int at; int *arr; public: Array(int _capacity) { capacity = _capacity; at = 0; arr = new int[capacity]; } ~Array() { } void add(int x) { if(at == capacity) { int *tmp_arr = new int[capacity]; for(int i = 0; i < at; i++) { tmp_arr[i] = arr[i]; } capacity *= 2; arr = new int[capacity]; for(int i = 0; i < at; i++) { arr[i] = tmp_arr[i]; } } arr[at] = x; at++; } void change(int a, int b) { for(int i = 0; i < at; i++) { if(arr[i] == a) { arr[i] = b; } } } void deleteAll(int x) { int *tmp_arr = new int[capacity]; int tmp_at = 0; for(int i = 0; i < at; i++) { if(arr[i] != x) { tmp_arr[tmp_at] = arr[i]; tmp_at++; } } arr = new int [capacity]; for(int i = 0; i < tmp_at; i++) { arr[i] = tmp_arr[i]; } at = tmp_at; } void print() { for(int i = 0; i < capacity; i++) { if(i < at) { cout << arr[i] << " "; } else { cout << " _ "; } } cout << endl; } }; int main() { Array a(5); a.add(2); a.add(3); a.add(4); a.print(); a.add(5); a.add(6); a.print(); a.add(7); a.print(); a.change(2, 10); a.print(); a.deleteAll(5); a.print(); return 0; }