Mam problem z zadaniem, które wydaje się być banalne. Mianowicie chodzi o stworzenie klasy Zbiór, a w niej umieścić metodę usuwającą element ze zbioru oraz metodę sumującą dwa zbiory. Dodatkowo metoda sumująca ma brać pod uwagę to, że jeśli dany element np. o wartości 3 znajduje się w zbiorze pierwszym i drugim, to w sumie pojawia się tylko raz.
Mam publiczne zmienne:
int *tab;
int miejsce;//zajmowane miejsce
int l_elementow;
int wartosc;
Napisałam następujące metody, ale nie działają.
void Zbior::usun(int wartosc){
Zbior z = *this;
for (int i=wartosc; i<l_elementow-1; i++){
z[i]=z[i+1];
cout<<z.tab[i];
}
}
Zbior & Zbior::operator+(const Zbior & z){
Zbior nowy;
Zbior zb;
int wartosc;
for(int i=0; i<20;i++){
for(int j=0; j<20; j++){
while(z.tab[i]=zb.tab[j]){
nowy.dolaczW(z.tab[i]);
}
while(z.tab[i] != zb.tab[j]){
nowy.dolaczW(z.tab[i]);
nowy.dolaczW(zb.tab[j]);
}
}
}
}
a także metodę dołączającą element do zbioru dolaczW():
void Zbior::dolaczW(int wart){
if(l_elementow==miejsce){
int*temp=new int[2*miejsce];
for(int i=0;i<miejsce;i++){
temp[i]=tab[i];
}
miejsce*=2;
delete[]tab;
tab=temp;
}
tab[l_elementow]=wart;
l_elementow++;
}
Ktoś mi pomoże z tym, zapewne, drobiazgiem?