Advertisement
sellmmaahh

tut7-zad3

Jul 24th, 2015
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <cstring>
  2. #include <iostream>
  3. #include <set>
  4. #include <algorithm>
  5. using namespace std;
  6.  
  7.  
  8. template <typename Tip>
  9. set <Tip> Unija (set<Tip> set1, set<Tip> set2)
  10. { set<Tip> set3;
  11. auto It1(set1.begin()), It2(set2.begin());
  12. while (It1!=set1.end() && It2!=set2.end()) {
  13.     if (*It1<*It2) set3.insert(*It1++);
  14.     else if (*It2<*It1) set3.insert(*It2++);
  15.     else  { set3.insert(*It1);
  16.     It2++;
  17.     }
  18. }
  19.  
  20. while ( It1!=set1.end()) {
  21.         set3.insert(*It1++);
  22.  
  23. }
  24. while (It2!=set2.end()) {
  25.         set3.insert(*It2++);
  26.  
  27. }
  28. return set3;
  29. }
  30.  
  31.  
  32. template <typename Tip>
  33. set <Tip> Presjek (set<Tip> set1, set<Tip> set2)
  34. { set<Tip> set3;
  35. auto It1(set1.begin()), It2(set2.begin());
  36. while (It1!=set1.end() && It2!=set2.end()) {
  37.     if (*It1<*It2) It1++;
  38.     else if (*It2<*It1) It2++;
  39.     else  { set3.insert(*It1);
  40.     It2++;
  41.     }
  42.  
  43.   }
  44.   return set3;
  45. }
  46.  
  47.  
  48.  
  49. int main () {
  50. set <string> s1{"selma", "esma", "od", "emina"};
  51. set<string> s2{"moze", "esma","alma", "od"};
  52. cout<<"Unija: ";
  53. for (string x: Unija(s1,s2)) cout<<x<<" ";
  54. cout<<endl;
  55. cout<<"presjek: ";
  56. for (string x: Presjek(s1,s2)) cout<<x<<" ";
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement