Set (multime)

Fie doua multimi A si B cu elemente intregi cu n si respectiv m elemente.

a) sa se caute un element dat in multimea A

b) sa se afiseze intersectia dintre multimea A si multimea B

c) sa se afiseze reuniunea dintre multimea A si multimea B

d) sa se afiseze A-B

 

#include<iostream>
#include<set>
using namespace std;
 
int main()
{
    int i,x,n;
    set<int> a;
    set<int> b;
    set<int> c;
    cout<<"numarul de elemente pentru multimea a=";cin>>n;
    cout<<"elementele multimii a: \n";
    for (i=1;i<=n;i++)
    {
        cin>>x;
        a.insert(x);
    }
   /*cautarea unui element*/
   cout<<"dati elementul cautat "; cin>>x;
    set<int>::iterator it = a.find(x);
    if(it != a.end())
        cout<<"elementul exista in multimea a"<<endl;
    else
        cout<<"elementul nu exista in multimea a"<<endl;
 
    /* elementele multimii a*/
    cout<<"elementele multimii a sunt:\n";
    for(it=a.begin();it!=a.end();++it)
        cout<<*it<<' ';
    cout<<'\n';
    /* numarul de elemente din multime */
    cout<<"numarul de elemente din multimea a="<<a.size()<<'\n';
 
    //pentru multimea b
    int m;
    set<int>::iterator itb;
    set<int>::iterator ita;
    cout<<"numarul de elemente pentru multimea b=";cin>>m;
    cout<<"elementele multimii b:\n";
    for (i=1;i<=m;i++)
    {
        cin>>x;
        b.insert(x);
    }
     /* elementele multimii b*/
    cout<<"elementele multimii b sunt\n";
    for(itb=b.begin();itb!=b.end();++itb)
        cout<<*itb<<' ';
    cout<<'\n';
    //intersectia dintre a si b
    for(ita=a.begin();ita!=a.end();++ita)
        for(itb=b.begin();itb!=b.end();++itb)
         if(*ita==*itb) c.insert(*ita);
    cout<<"intersectia: ";
    for(it=c.begin();it!=c.end();++it) cout<<*it<<' ';
    cout<<'\n';
 
    //reuniunea dintre a si b
     c.clear();
     for(ita=a.begin();ita!=a.end();++ita)c.insert(*ita);
     for(itb=b.begin();itb!=b.end();++itb)c.insert(*itb);
     cout<<"reuniunea: ";
     for(it=c.begin();it!=c.end();++it) cout<<*it<<' ';
     //diferenta
      c.clear();
      for(ita=a.begin();ita!=a.end();++ita)c.insert(*ita);
      for(ita=a.begin();ita!=a.end();++ita)
        for(itb=b.begin();itb!=b.end();++itb)
         if(*ita==*itb) c.erase(*ita);
      cout<<"\na-b: ";
      for(it=c.begin();it!=c.end();++it) cout<<*it<<' ';
 
    return 0;
}
#include<iostream>
#include<set>
using namespace std;
 
int main()
{
    int i,x,n;
    set<int> a;
    set<int> b;
    set<int> c;
    cout<<"numarul de elemente pentru multimea a=";cin>>n;
    cout<<"elementele multimii a: \n";
    for (i=1;i<=n;i++)
    {
        cin>>x;
        a.insert(x);
    }
   /*cautarea unui element*/
   cout<<"dati elementul cautat "; cin>>x;
    set<int>::iterator it = a.find(x);
    if(it != a.end())
        cout<<"elementul exista in multimea a"<<endl;
    else
        cout<<"elementul nu exista in multimea a"<<endl;
 
    /* elementele multimii a*/
    cout<<"elementele multimii a sunt:\n";
    for(it=a.begin();it!=a.end();++it)
        cout<<*it<<' ';
    cout<<'\n';
    /* numarul de elemente din multime */
    cout<<"numarul de elemente din multimea a="<<a.size()<<'\n';
 
    //pentru multimea b
    int m;
    set<int>::iterator itb;
    set<int>::iterator ita;
    cout<<"numarul de elemente pentru multimea b=";cin>>m;
    cout<<"elementele multimii b:\n";
    for (i=1;i<=m;i++)
    {
        cin>>x;
        b.insert(x);
    }
     /* elementele multimii b*/
    cout<<"elementele multimii b sunt\n";
    for(itb=b.begin();itb!=b.end();++itb)
        cout<<*itb<<' ';
    cout<<'\n';
    //intersectia dintre a si b
    for(ita=a.begin();ita!=a.end();++ita)
        for(itb=b.begin();itb!=b.end();++itb)
         if(*ita==*itb) c.insert(*ita);
    cout<<"intersectia: ";
    for(it=c.begin();it!=c.end();++it) cout<<*it<<' ';
    cout<<'\n';
 
    //reuniunea dintre a si b
     c.clear();
     for(ita=a.begin();ita!=a.end();++ita)c.insert(*ita);
     for(itb=b.begin();itb!=b.end();++itb)c.insert(*itb);
     cout<<"reuniunea: ";
     for(it=c.begin();it!=c.end();++it) cout<<*it<<' ';
     //diferenta
      c.clear();
      for(ita=a.begin();ita!=a.end();++ita)c.insert(*ita);
      for(ita=a.begin();ita!=a.end();++ita)
        for(itb=b.begin();itb!=b.end();++itb)
         if(*ita==*itb) c.erase(*ita);
      cout<<"\na-b: ";
      for(it=c.begin();it!=c.end();++it) cout<<*it<<' ';
 
    return 0;
}
 

counter for wordpress

View My Stats