Advertisement
josiftepe

Untitled

Apr 1st, 2021
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.25 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. class Array {
  4. private:
  5.     int *niza;
  6.     int kapacitet; //kolku maksimum elementi moze da ima nizata
  7.     int at; // tekovniot broj na elementi
  8. public:
  9.     Array() {
  10.         kapacitet = 5;
  11.         at = 0;
  12.         niza = new int[kapacitet];
  13.     }
  14.     Array(int _k) {
  15.         kapacitet = _k;
  16.         at = 0;
  17.         niza = new int[kapacitet];
  18.     }
  19.     Array(const Array &tmp) {
  20.         kapacitet = tmp.kapacitet;
  21.         at = tmp.at;
  22.         niza = new int[kapacitet];
  23.         for(int i = 0; i < at; i++) {
  24.             niza[i] = tmp.niza[i];
  25.         }
  26.     }
  27.     ~Array() {}
  28.     void add(int x) {
  29.         if(at == kapacitet) {
  30.             kapacitet *= 2;
  31.             int tmp_niza[kapacitet];
  32.             for(int i = 0; i < at; i++) {
  33.                 tmp_niza[i] = niza[i];
  34.             }
  35.             niza = new int[kapacitet]; // tuka se brisat site elementi
  36.             for(int i = 0; i < at; i++) {
  37.                 niza[i] = tmp_niza[i];
  38.             }
  39.         }
  40.         niza[at] = x;
  41.         at++;
  42.     }
  43.     void change(int A, int B) {
  44.         for(int i = 0; i < at; i++) {
  45.             if(niza[i] == A) {
  46.                 niza[i] = B;
  47.             }
  48.         }
  49.     }
  50.     void deleteAll(int x) {
  51.         int tmp_niza[kapacitet];
  52.         int tbe = 0; // tekoven broj na elementi na novataniza
  53.         for(int i = 0; i < at; i++) {
  54.             if(niza[i] != x) {
  55.                 tmp_niza[tbe] = niza[i];
  56.                 tbe++;
  57.             }
  58.         }
  59.         at = tbe;
  60.         for(int i = 0; i < tbe; i++) {
  61.             niza[i] = tmp_niza[i];
  62.         }
  63.     }
  64.     void print() {
  65.         for(int i = 0; i < kapacitet; i++) {
  66.             if(i < at) {
  67.                 cout << niza[i] << " ";
  68.             }
  69.             else {
  70.                 cout << " _ ";
  71.             }
  72.         }
  73.         cout << endl;
  74.     }
  75. };
  76.  
  77. int main() {
  78.     Array a;
  79.     a.add(6);
  80.     a.add(4);
  81.     a.add(3);
  82.     a.add(2);
  83.     a.add(1);
  84.     Array b(a);
  85.     Array c;
  86.     c = a;
  87.  
  88.     b.add(2);
  89.     b.change(2, 6);
  90.     c.deleteAll(6);
  91.  
  92.     cout << " a: ";
  93.     a.print();
  94.     cout << " b: ";
  95.     b.print();
  96.     cout << " c: ";
  97.     c.print();
  98.     return 0;
  99. }
  100. /*
  101.  a: 4 3 2 1 1
  102.  b: 6 4 3 6 1 6
  103.  c: 4 3 2 1
  104.  */
  105.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement