Advertisement
Alyks

Untitled

Feb 23rd, 2020
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.53 KB | None | 0 0
  1. #include <iostream>
  2. #include <iterator>
  3. #include <set>
  4.  
  5. using namespace std;
  6.  
  7. set<int> makeSet(set<int> sourceSet) {
  8.     set<int> resultSet;
  9.     set<int>::iterator it;
  10.     for (it = sourceSet.begin(); it != sourceSet.end(); it++) {
  11.         int dividersCount = 0;
  12.         if (*it > 1 && sourceSet.count(*it) == 1) {
  13.             for (int j = 1; j <= *it; j++)
  14.                 if (*it % j == 0)
  15.                     dividersCount++;
  16.  
  17.             if (dividersCount < 3)
  18.                 resultSet.insert(*it);
  19.         }
  20.     }
  21.  
  22.     return resultSet;
  23. }
  24.  
  25. int main() {
  26.     cout << "Данная программа формирует множество Y, полученное объеденением исходных множеств X1 и X2 и выделяет из него \nподмножество Y1 чисел, которые являются простыми\n" << endl;
  27.     set<int> X1 = {1, 2, 3, 4, 5, 6};
  28.     set<int> X2 = {1, 3, 4, 5, 6};
  29.     set<int> Y;
  30.     Y.insert(X1.begin(), X1.end());
  31.     Y.insert(X2.begin(), X2.end());
  32.     cout << "Результатом объеденения множеств X1 и X2 является множество Y:" << endl;
  33.     copy(Y.begin(), Y.end(), ostream_iterator<int>(cout, " "));
  34.     cout << endl;
  35.     set<int> Y1 = makeSet(Y);
  36.     cout << "Подмножество Y1, которое состоит из чисел множества Y, которые являются простыми:" << endl;
  37.     copy(Y1.begin(), Y1.end(), ostream_iterator<int>(cout, " "));
  38.     return 0;
  39. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement