Advertisement
9I_HE_TbI_A_9I

Untitled

Dec 14th, 2020 (edited)
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.41 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class ar {
  5.     int n;
  6.     int *arr;
  7.    
  8. public:  
  9.     ar() : n(0), arr(0) {};
  10.     ar(int k) {
  11.         n = k;
  12.         arr = new int[n] {0};
  13.     }  
  14.     int& operator[] (int i) {
  15.         return arr[i];
  16.     }
  17.     void newRas(int k) {
  18.        
  19.         int* b = new int [k];
  20.         if (k < n) {
  21.             n = k;
  22.         }
  23.         for (int i = 0; i < n; i++) {
  24.             b[i] = arr[i];
  25.         }
  26.         for (int i = n; i < k; i++) {
  27.             b[i] = 0;
  28.         }
  29.         n = k;
  30.         delete[] (arr);
  31.         arr = new int[n];
  32.         for (int i = 0; i < n; i++) {
  33.             arr[i] = b[i];
  34.         }
  35.         delete[] (b);
  36.     }
  37.     int rasm() {
  38.         return n;
  39.     }
  40.     void write() {
  41.         for (int i = 0; i < n; i++) {
  42.             cout << arr[i] << ' ';
  43.         }
  44.     }
  45.     bool emp() {
  46.         bool cle = 0;
  47.         for (int i = 0; i < n && !cle; i++) {
  48.             if (arr[i] != 0) {
  49.                 cle = 1;
  50.             }
  51.         }
  52.         return cle;
  53.     }
  54.     ~ar(){
  55.         delete[](arr);
  56.     }
  57.    
  58. };
  59. int main()
  60. {
  61.     int k;
  62.     cin >> k;
  63.     ar t(k);
  64.     for (int i = 0; i < k; i++) {
  65.         t[i] = i + 1;
  66.     }
  67.     t.write();
  68.     cout<<'\n'<<t.rasm()<<'\n';
  69.     int new_r;
  70.     cin >> new_r;
  71.     t.newRas(new_r);
  72.     t.write();
  73.     cout << '\n';
  74.     cin >> new_r;
  75.     t.newRas(new_r);
  76.     t.write();
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement