Sunteți pe pagina 1din 2

/*Se presupune cazul multimilor definite ca parti ale multimii totale {1,2,3,..

9}
si memorate prin functie caracteristica pe
array.
(O astfel demultime se prezinta ca un array caracter, care are componenta de rang k
=1 sau =0, dupa cum elementul multimii
este prezent sau nu in multimea respectiva).

Sa se construiasca o calsa MULTIME care sa posede constructor implicit pt multimea


vida, o functie pt cardinal si operator +
supraincarcat pt reuniune. Sa se schiteze functia main care sa apeleze functiile
astfel definite, presupunand
ca multimile operanzi sunt initializate, dupa instantiere, prin operatii care nu se
cer.*/

#include<iostream.h>
class multime
{
int m[9];
public:
void citire();
void afisare();
multime complement();
multime operator + ( multime&);//reuniune
multime operator - (multime&); //intersectie
// mai trebuie supraincarcat operatorul de indexare pt vector
};
void::citire()
{
for (int i=1;i<=9;i++)
{
cout<<"Daca elementul i se afla in multime tastati 1, altfel tastati 0";
cin>>m[i];
}
}
void::afisare()
{
for (int i=1;i<=9;i++)
if(m[i]==1)
cout<<i;
}
multime::multime complement()
{
multime a;
for (int i=1;i<=9;i++)
if(m[i]==1)
a[i]=0;
else
a[i]=1;
return a;
}
multime::multime operator + ( multime & b)
{
multime a;
for (int i=1;i<10;i++)
if ((m[i]==1) || (b[i]==1))
a[i]=1;
else
a[i]=0;
return a;
}
multime::multime operator - ( multime & b)
{
multime a;
for (int i=1;i<10;i++)
if ((m[i]==1) && (b[i]==1))
a[i]=1;
else
a[i]=0;
return a;
}