Advertisement
nex036ara

funkor_nit

Mar 24th, 2012
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. #include<thread>
  4. using namespace std;
  5.  
  6. struct Tacka {
  7.    double x, y;
  8. };
  9.  
  10. class Krug {
  11.    Tacka centar;
  12.    double r;
  13.  
  14. public:
  15.    Krug(const Tacka t, const double r_) : centar(t), r(r_) {}
  16.  
  17.    void operator()(const vector<Tacka> &p, vector<bool>&ret){
  18.    ret.resize(p.size());
  19.  
  20.     for(int i= 0; i< p.size(); ++i) {
  21.        if((p[i].x -centar.x)*(p[i].x -centar.x)+(p[i].y -centar.y)*(p[i].y -centar.y)<=r*r) ret[i]=true; //push_back(true) je pogresno
  22.           else
  23.             ret[i]=false; //push_back(..)je pogresno jer se na vektor 'ret' formirane dimenzije nadodaje na kraj vektora
  24.         }
  25.     }
  26. };
  27.  
  28. int main() {
  29.  
  30.     Krug k({0,0}, 3);
  31.     vector<Tacka> p= {{1,3}, {3,3}, {0,0}, {1,1}, {0,3}};
  32.     vector<bool> b;
  33.  
  34.     thread t(k, p, ref(b));
  35.     t.join();
  36.  
  37.  
  38.    for(auto i=0; i<b.size(); ++i) {
  39.    cout<<"Tacka("<<p[i].x<<","<<p[i].y<<")";
  40.    if(b[i]) cout<<"pripada"<<endl;
  41.     else
  42.     cout<<"ne pripada"<<endl;
  43.    }
  44.  
  45. return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement