Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Да се напише класа Array за работа со еднодимензионални полиња од
- целобројни елементи. За полето се чуваат информации за неговиот вкупен
- капцитет, тековниот број на елементи. Резервацијата на меморијата да се врши
- динамички. Во класата да се имплементираат следните функции:
- • add за додавање нови броеви во полето и притоа ако е исполнет
- капацитетот на полето (низата) да се зголеми за 100%.
- • change која има два целобројни аргументи А и В и ги заменува сите броеви
- А од полето во В.
- • deleteAll која ги брише сите појавувања на целоброниот аргумент во
- полето, а притоа капацитетот да не се промени.
- • print за печатење на елементите од полето.
- */
- #include <iostream>
- using namespace std;
- class Array{
- private:
- int *numbers;
- int capacity;
- int size = 0;
- public:
- Array (){
- this->capacity = 5;
- this->size = 0;
- numbers = new int [this->capacity];
- }
- Array(int capacity){
- this->capacity=capacity;
- this->size=0;
- numbers= new int [this->capacity];
- }
- void add(int n){
- if(size==capacity){
- int *temp = new int [2*capacity];
- for(int i=0;i<size;i++){
- temp[i]=numbers[i];
- }
- temp[size]=n;
- delete [] numbers;
- numbers=temp;
- size++;
- capacity*=2;
- }else{
- numbers[size]=n;
- size++;
- }
- }
- void change (int a,int b){
- for(int i=0;i<size;i++){
- if(numbers[i]==a);
- numbers[i]=b;
- }
- }
- int contains(int n){
- int counter=0;
- for(int i=0;i<size;i++){
- if(numbers[i]==n){
- counter++;
- }
- }
- return counter;
- }
- void deleteAll(int n){
- int povtoruvanja=contains(n);
- if(povtoruvanja==0){
- return ;
- }else{
- int *temp= new int [size - povtoruvanja];
- int j=0;
- for(int i=0;i<size;i++){
- if(numbers[i]!=n){
- temp[j]=numbers[i];
- ++j;
- }
- }
- delete [] numbers;
- numbers=temp;
- size-=povtoruvanja;
- }
- }
- void print(){
- cout<<"Cpacity: "<<capacity<<endl;
- cout<<"Size: "<<size<<endl;
- for(int i=0;i<size;i++){
- cout<<numbers[i]<<" ";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement