Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Array {
- private:
- int *niza;
- int kapacitet; //kolku maksimum elementi moze da ima nizata
- int at; // tekovniot broj na elementi
- public:
- Array() {
- kapacitet = 5;
- at = 0;
- niza = new int[kapacitet];
- }
- Array(int _k) {
- kapacitet = _k;
- at = 0;
- niza = new int[kapacitet];
- }
- Array(const Array &tmp) {
- kapacitet = tmp.kapacitet;
- at = tmp.at;
- niza = new int[kapacitet];
- for(int i = 0; i < at; i++) {
- niza[i] = tmp.niza[i];
- }
- }
- ~Array() {}
- void add(int x) {
- if(at == kapacitet) {
- kapacitet *= 2;
- int tmp_niza[kapacitet];
- for(int i = 0; i < at; i++) {
- tmp_niza[i] = niza[i];
- }
- niza = new int[kapacitet]; // tuka se brisat site elementi
- for(int i = 0; i < at; i++) {
- niza[i] = tmp_niza[i];
- }
- }
- niza[at] = x;
- at++;
- }
- void change(int A, int B) {
- for(int i = 0; i < at; i++) {
- if(niza[i] == A) {
- niza[i] = B;
- }
- }
- }
- void deleteAll(int x) {
- int tmp_niza[kapacitet];
- int tbe = 0; // tekoven broj na elementi na novataniza
- for(int i = 0; i < at; i++) {
- if(niza[i] != x) {
- tmp_niza[tbe] = niza[i];
- tbe++;
- }
- }
- at = tbe;
- for(int i = 0; i < tbe; i++) {
- niza[i] = tmp_niza[i];
- }
- }
- void print() {
- for(int i = 0; i < kapacitet; i++) {
- if(i < at) {
- cout << niza[i] << " ";
- }
- else {
- cout << " _ ";
- }
- }
- cout << endl;
- }
- };
- int main() {
- Array a;
- a.add(6);
- a.add(4);
- a.add(3);
- a.add(2);
- a.add(1);
- Array b(a);
- Array c;
- c = a;
- b.add(2);
- b.change(2, 6);
- c.deleteAll(6);
- cout << " a: ";
- a.print();
- cout << " b: ";
- b.print();
- cout << " c: ";
- c.print();
- return 0;
- }
- /*
- a: 4 3 2 1 1
- b: 6 4 3 6 1 6
- c: 4 3 2 1
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement