Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <set>
  3. #include <algorithm>
  4. #include <iterator>
  5.  
  6. using namespace std;
  7.  
  8. int main(){
  9. int n,x;
  10.  
  11.  
  12. set<int> first; // Изначальная последовательность чисел
  13. set<int> second;// Последовательность цифр из изначательной последовательности чисел
  14. set<int> third;// Последовательность цифр из двузначных чисел
  15. set<int> fourth;// Последовательность цифр из трехзначных чисел
  16. set<int> fifth; //Последовательность цифр из двузначных и трехзначных чисел
  17. set<int> sixth;// Последовательность из не встречающихся цифр в двузначных и трехзначных числах (Ответ)
  18.  
  19. cout << "Введите количество элементов" << endl;
  20. cin>>n;
  21.  
  22. //Заолняем
  23.  
  24. for(int i = 0; i < n; i++){
  25. cout << "a[" << i+1 << "] = ";
  26. cin>> x;
  27. cout << endl;
  28. first.insert(x);
  29. }
  30. // Находим последовательность цифр из изначательной последовательности чисел
  31.  
  32. for (set<int>::iterator iter = first.begin(); iter != first.end(); iter++){
  33. x = *iter;
  34. while (x!=0) {
  35. second.insert(x % 10);
  36. x /= 10;
  37. }
  38. }
  39.  
  40. //Находим последовательность цифр из двузначных чисел
  41.  
  42. for (set<int>::iterator iter = first.begin(); iter != first.end(); iter++){
  43. if (*iter >= 10 && *iter <= 99) {
  44. x = *iter;
  45. while (x!=0) {
  46. third.insert(x % 10);
  47. x /= 10;
  48. }
  49. }
  50. }
  51.  
  52. //Находим последовательность цифр из трехзначных чисел
  53.  
  54. for (set<int>::iterator iter = first.begin(); iter != first.end(); iter++){
  55. if (*iter >= 100 && *iter <= 999) {
  56. x = *iter;
  57. while (x!=0) {
  58. fourth.insert(x % 10);
  59. x /= 10;
  60. }
  61. }
  62. }
  63.  
  64. // Объеденияем 3 и 4 последовательность
  65. set_union(third.begin(),third.end(),fourth.begin(), fourth.end(), inserter(fifth,fifth.begin()));
  66.  
  67. // Находим последовательность из не встречающихся цифр в двузначных и трехзначных числах
  68.  
  69. set_difference(second.begin(),second.end(),fifth.begin(),fifth.end(),inserter(sixth,sixth.begin()));
  70.  
  71. // Выводим ответ
  72. for (set<int>::iterator iter = sixth.begin(); iter != sixth.end(); iter++)
  73. cout << *iter << " ";
  74. cout << endl;
  75.  
  76.  
  77. system("pause");
  78. return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement