Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // 2nagyzhpot
- //
- // Created by Reka Vihari on 2016. 05. 25..
- // Copyright © 2016. Reka Vihari. All rights reserved.
- //
- #include <iostream>
- #include <deque>
- //beugró
- template<typename T, size_t M=1000>
- class ModTomb: public std::deque<T>{
- public:
- ModTomb(size_t n, const T& vmi):std::deque<T>(n,vmi){}
- ModTomb():std::deque<T>(){}
- template<class Iterator>
- ModTomb(Iterator first, Iterator last):std::deque<T>(first,last){}
- ModTomb(int a):std::deque<T>(a){}
- T& operator[](int index){
- return std::deque<T>::operator[] (index%M);}
- T const& operator[] (int index)const {
- return std::deque<T>::operator[] (index%M);
- }
- };
- //c
- template<class Iterator, class Predik>
- int count_unless(Iterator first, Iterator last, Predik p){
- int darab=0;
- for(Iterator i=first;i!=last;i++){
- if(!p(*i)){
- darab++;
- }
- }
- return darab;
- }
- bool negativ(int a){ return a<0;}
- class Funktor{
- int adat;
- public:
- Funktor(int a){adat=a;}
- bool operator()(int b){
- return adat==b;
- }
- };
- bool nullae(int b){return b==0;}
- int main() {
- ModTomb<int, 3> t3(3); //mod3 aritmetikával indexelhető 3 elemű tömb
- t3[0]=1;
- std::cout<<t3[3]<<std::endl;
- t3[7]=2;
- ModTomb<int, 30> t6(30);
- int sorozat[]={1,4,9,-16,25,3,72,100,3};
- int eredmeny=count_unless(sorozat, sorozat+9, negativ);
- std::cout<<eredmeny<<std::endl;
- int joe=count_unless(sorozat, sorozat+9,Funktor(-16));
- std::cout<<joe<<std::endl;
- int nullae=count_unless(t6.begin(), t6.end(), Funktor(0));
- std::cout<<nullae<<std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement