Advertisement
Guest User

Untitled

a guest
May 26th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. #include <iterator>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. //template<class T>
  7. class PowIterator;
  8.  
  9. //template <class T>
  10. class Number;
  11.  
  12. //template <class T>
  13. class NumSeq {
  14. private:
  15.     vector<int> sequence;
  16.  
  17.  
  18. public:
  19.     PowIterator begin(); //итератор, который указывает на первый элемент контейнера
  20.  
  21.     PowIterator end(); //итератор, который указывает на следующую позицию после последнего элемента
  22.  
  23.     int &operator[](int i); //Перегрузка операции "[]"
  24.  
  25.     NumSeq();
  26.  
  27.     template<typename _InputIterator,
  28.             typename = std::_RequireInputIter<_InputIterator>>
  29.     NumSeq(_InputIterator first, _InputIterator last): sequence(first, last) {}
  30.  
  31.  
  32. //template<class T>
  33. PowIterator NumSeq::begin() {
  34.     return PowIterator(this);
  35. }
  36.  
  37. //template<class T>
  38. PowIterator NumSeq::end() {
  39.     return PowIterator(this, sequence.size());
  40. }
  41.  
  42. //Перегрузка операции "[]"
  43.  
  44. int &operator[](int i) {
  45.     return sequence[i];
  46. }
  47.  
  48. bool isEnd(vector<int> seq) {
  49.     for (count; i < seq.size(); i++) {
  50.         if (isPowerOfTwo()) {
  51.             return true;
  52.         } else return false;
  53.     }
  54. }
  55.  
  56. vector<int> getSeq() {
  57.     return sequence;
  58. }
  59.  
  60. //Проверка является ли число v степенью двойки
  61. bool isPowerOfTwo(int v) {
  62.     return v && !(v & (v - 1));
  63. }
  64. };
  65.  
  66. class PowIterator {
  67. private:
  68.     NumSeq sequence;
  69.     int count;
  70.  
  71. public:
  72.     PowIterator();
  73. };
  74.  
  75. PowIterator :: PowIterator() {
  76.     for (int i = 0; i < sequence.size(); i++) {
  77.         if (isPowerOfTwo(sequence[i]) == true) {
  78.             count = 0;
  79.             break;
  80.         }
  81.     }
  82. }
  83.  
  84.  
  85. bool isEnd(vector<int> seq) {
  86.     for (int i : seq) {
  87.         return isPowerOfTwo(i);
  88.     }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement