Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<thread>
- using namespace std;
- struct Tacka {
- double x, y;
- };
- class Krug {
- Tacka centar;
- double r;
- public:
- Krug(const Tacka t, const double r_) : centar(t), r(r_) {}
- void operator()(const vector<Tacka> &p, vector<bool>&ret){
- ret.resize(p.size());
- for(int i= 0; i< p.size(); ++i) {
- 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
- else
- ret[i]=false; //push_back(..)je pogresno jer se na vektor 'ret' formirane dimenzije nadodaje na kraj vektora
- }
- }
- };
- int main() {
- Krug k({0,0}, 3);
- vector<Tacka> p= {{1,3}, {3,3}, {0,0}, {1,1}, {0,3}};
- vector<bool> b;
- thread t(k, p, ref(b));
- t.join();
- for(auto i=0; i<b.size(); ++i) {
- cout<<"Tacka("<<p[i].x<<","<<p[i].y<<")";
- if(b[i]) cout<<"pripada"<<endl;
- else
- cout<<"ne pripada"<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement