Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.94 KB | None | 0 0
  1.  
  2. #include<iostream>
  3. #include<vector>
  4. #include<algorithm>
  5.  
  6. using namespace std;
  7.  
  8. #include "Fx.cpp"
  9.  
  10. int main()
  11. {
  12.     cout<<endl;
  13.     cout<<"Podaj dane pierwszego zbioru: ";
  14.     auto a= get_data();
  15.     cout<<"Podaj dane drugiego zbioru: ";
  16.     auto b= get_data();
  17.     cout<<endl;
  18.     vector<int> suma=union_sets(a,b);
  19.     cout<<"Union | A u B |: ";
  20.     draw(suma);
  21.  
  22.  
  23.     cout<<"Intersection | A n B | : ";
  24.     vector<int> iloczyn=intersections(a,b);
  25.     draw(iloczyn);
  26.  
  27.     cout<<"Difference | A/B | : ";
  28.     vector<int>diff=difference(a,b);
  29.     draw(diff);
  30.  
  31.      cout<<"Symmetric difference | (A/B) u (B/A) | : ";
  32.     draw(difference(suma,iloczyn));
  33.  
  34.     cout<<endl;    
  35. }
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. #include "Fx.h"
  53.  
  54. auto draw(vector<int> a)
  55. {
  56.         for(auto i:a) cout<<i<<" ";  
  57.         cout<<endl;
  58. }
  59.  
  60. auto get_data()
  61. {
  62.     vector<int> v;
  63.     string line;
  64.     int number;
  65.     getline(cin, line);
  66.     istringstream stream(line);
  67.  
  68.         while (stream >> number)
  69.             v.push_back(number);
  70.  
  71.     return v;
  72. }
  73.  
  74. auto union_sets(auto a, auto b)
  75. {
  76.     vector <int> suma;
  77.     for(auto i:a)  suma.push_back(i);
  78.     for(auto i:b) suma.push_back(i);
  79.     sort(suma.begin(),suma.end());
  80.  
  81.     int prev;
  82.     for(int i=0; i<suma.size()-1;i++)
  83.     {
  84.         if(suma.at(i)==suma.at(i+1))
  85.         {
  86.             suma.erase(suma.begin() + (i));  
  87.         }
  88.     }
  89.     return suma;
  90.  
  91. }
  92. auto intersections(auto a, auto b)
  93. {
  94.     vector<int> multi;
  95.    
  96.     for(auto i:a)
  97.     {
  98.         for(auto j:b)
  99.         {
  100.             if(i==j)
  101.             {
  102.                 multi.push_back(i);        
  103.             }
  104.         }
  105.     }
  106.     return multi;
  107. }
  108.  
  109. auto difference(auto a, auto b){
  110.     vector<int> diff;
  111.     for(int i:a){
  112.         int lock=0;
  113.         for(int j:b){
  114.             if(i==j) lock=1;
  115.         }
  116.         if(lock==1) continue;
  117.         diff.push_back(i);
  118.     }
  119.     return diff;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement