drof13

Untitled

May 12th, 2022
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class MyVector {
  6.     int len;                     // Длина массива
  7.     int* data;                   // Дин. массив с числами
  8. public:
  9.     MyVector(int len, int val = 0)   // Создать массив длины len и заполнить его числом val
  10.         : len(len)
  11.     {
  12.         data = new int[(*this).len];
  13.         for (int i = 0; i < (*this).len; i++) {
  14.             data[i] = val;
  15.         }
  16.     }
  17.  
  18.     MyVector(const MyVector& MV) // Конструктор копирования массива
  19.     {
  20.         delete[] data;
  21.         len = MV.len;
  22.         data = new int[len];
  23.         for (int i = 0; i < len; i++) {
  24.             data[i] = MV.data[i];
  25.         }
  26.     };        
  27.     // ~MyVector();
  28.  
  29.     void push_back(int value) {
  30.         MyVector swap((*this));
  31.         delete[] data;
  32.         len++;
  33.         data = new int[len];
  34.         for (int i = 0; i < len - 1; i++) {
  35.             data[i] = swap.data[i];
  36.         }
  37.         data[len - 1] = value;
  38.     }
  39.  
  40.     int length() {   // Метод для получения длины массива
  41.         return len;
  42.     };                
  43.  
  44.     // Операция вывода массива
  45.     friend ostream& operator << (ostream& os, MyVector& MV) {
  46.         for (int i = 0; i < MV.len; i++) {
  47.             os << MV.data[i] << " ";
  48.         }
  49.         return os;
  50.     };
  51.  
  52.     // Операция ввода массива
  53.     friend istream& operator >> (istream& is, MyVector& MV) {
  54.         for (int i = 0; i < MV.len; i++) {
  55.             is >> MV.data[i];
  56.         }
  57.         return is;
  58.     };
  59.  
  60.     int getData(int ind) {  // вывод элемента массива на i-ой позиции
  61.         return data[ind];
  62.     }
  63.  
  64. };
  65.  
  66.  
  67. int main() {
  68.     int n;
  69.     cin >> n;
  70.     MyVector name(n);
  71.     cin >> name;
  72.     int in;
  73.     cin >> in;
  74.     name.push_back(in);
  75.     cout << name.length() << '\n';
  76.     cout << name << '\n';
  77.     return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment