Documente Academic
Documente Profesional
Documente Cultură
#include <iostream>
void intersectie(int u[], int m, int v[], int n, int w[], int &p)
{
p=0;
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
if(u[i] == v[j]) {w[p++]=u[i];break;}
}
void reuniune(int u[], int m, int v[], int n, int w[], int &p)
{
for(p=0; p<m; p++)
w[p]= u[p];
int ok;
for(int i=0; i<n;i++)
{
ok=0;
for(int j=0; j<m; j++)
if(v[i] == u[j]) {ok=1; break;}
if(ok==0) w[p++]=v[i];
}
}
void diferenta(int u[], int m, int v[], int n, int w[], int &p)
{ p=0;
int ok;
for(int i=0; i<m; i++)
{
ok=0;
for(int j=0; j<n; j++)
if(u[i] == v[j]) {ok = 1; break;}
if(ok == 0) w[p++] = u[i];
}
}
int main()
{
int a[maxdim], b[maxdim], c[maxdim], m, n, p;
cout<<" multimea A : ";citire(a,m);
elimDuplicate(a,m);
cout<<" multimea B : ";citire(b,n);
elimDuplicate(b,n);
afisare(a,m);
cout<<" * ";
afisare(b,n);
intersectie(a,m,b,n,c,p);
cout<<" = ";
afisare(c,p);
cout<<endl;
afisare(a,m);
cout<<" + ";
afisare(b,n);
reuniune(a,m,b,n,c,p);
cout<<" = ";
afisare(c,p);
cout<<endl;
afisare(a,m);
cout<<" - ";
afisare(b,n);
diferenta(a,m,b,n,c,p);
cout<<" = ";
afisare(c,p);
cout<<endl;
}
#include <iostream>
using namespace std;
/**
Operatii cu multimi v2:Intersectia, Reuniunea, Diferenta a 2 multimi
*/
int main()
{
int a[maxdim],m,b[maxdim],n,c[maxdim],p;
cout<<"Multimea A: ";citire(a,m);
cout<<"Multimea B: ";citire(b,n);
afisare(a,m);
cout<<" * ";
afisare(b,n);
intersectie(a,m,b,n,c,p);
cout<<" = ";
afisare(c,p);
cout<<endl;
afisare(a,m);
cout<<" U ";
afisare(b,n);
reuniune(a,m,b,n, c,p);
cout<<" = ";afisare(c,p);
cout<<endl;
afisare(a,m);
cout<<" - ";
afisare(b,n);
diferenta(a,m,b,n, c,p);
cout<<" = ";
afisare(c,p);
cout<<endl;
afisare(b,n);
cout<<" - ";
afisare(a,m);
diferenta(b,n,a,m,c,p);
cout<<" = ";
afisare(c,p);
cout<<endl;
difSimetrica(a,m,b,n,c,p);
afisare(a,m);
cout<<" DifSimetrica ";
afisare(b,n);
cout<<" = ";
afisare(c,p);
cout<<endl;
afisare(a,m);
cout<<" Inclus? in ";
afisare(b,n);
cout<<(inclus(a,m,b,n)?" da ":" nu ");
return 0;
}