Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class intArray {
- private:
- size_t size_;
- size_t i;
- size_t mass;
- int *data_;
- void resize () {
- int *data_new = new int[(size_ + 1) * 2];
- for (int j = 0; j < size_; j++) {
- data_new[j] = data_[j];
- }
- delete[]data_;
- data_ = data_new;
- return;
- }
- public:
- intArray () {
- size_ = 0;
- mass = 0;
- i = 0;
- }
- void get (size_t i) {
- cout << data_[i] << endl;
- return;
- }
- void set (size_t i, int num) {
- data_[i] = num;
- return;
- }
- void push (int num) {
- if (mass >= size_) {
- resize ();
- }
- bool flag = 1;
- for (int i = 0; i < size_; i++)
- if (num == data_[i]) {
- flag = 0;
- break;
- }
- if (flag == 1){
- data_[size_] = num;
- size_++;
- }
- mass++;
- return;
- }
- void empty () {
- if (size_ == 0)
- cout << "True" << endl;
- else cout << "False" << endl;
- cout << endl;
- return;
- }
- void output () {
- for (int i = 0; i < size_; i++) {
- cout << data_[i] << '\t';
- }
- cout << endl;
- return;
- }
- size_t size () {
- return size_;
- }
- intArray& operator=(intArray right) {
- size_ = right.size_;
- for (int i = size_; i < right.size_; i++)
- resize ();
- for (int i = 0; i < size_; i++)
- data_[i] = right.data_[i];
- return *this;
- }
- intArray &operator+(intArray right) {
- size_ += right.size_;
- for (int i = 0; i < right.size_; i++)
- resize ();
- for (int i = 0; i < right.size_; i++)
- push (right.data_[i]);
- return *this;
- }
- };
- int main () {
- int n;
- cin >> n;
- int *a = new int[n];
- for (int i = 0; i < n; i++)
- cin >> a[i];
- int n1;
- cin >> n1;
- int *a1 = new int[n1];
- for (int i = 0; i < n1; i++)
- cin >> a1[i];
- intArray m;
- for (int i = 0; i < n; i++) {
- m.push (a[i]);
- }
- intArray m1;
- for (int i = 0; i < n1; i++) {
- m1.push (a1[i]);
- }
- intArray m2;
- m.output ();
- cout << endl;
- m = m+ m1;
- m.output ();
- system ("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement