Mam problem z posortowaniem rosnąco vectora który w moim przypadku nazywa się "okregistycznedox", po użyciu sort(okregistycznedox.begin(), okregistycznedox.end()); Wyrzuca dużo błędów w pliku predefined_ops.h. Nie mam żadnego pomysłu jak to posortować.
#include <iostream>
#include <vector>
#include <fstream>
#include <cmath>
#include <cstdlib>
#include <algorithm>
using namespace std;
struct okrag{
int x,y,r;
okrag(int _x, int _y, int _r){
x = _x;
y = _y;
r = _r;
}
};
int main()
{
ifstream plik("punkty.txt");
vector <pair<double,double> > punkt;
double a,b;
while(plik >> a >> b){
punkt.push_back(make_pair(a,b));
}
plik.close();
int x , y , r;
int c[4] = {0,0,0,0};
/*for(int i = 0; i < punkt.size(); i++){
cout << "("<<punkt[i].first<<","<<punkt[i].second<<")"<<endl;
}*/
for(int i = 0; i < punkt.size(); i++){
if(punkt[i].first > 0 && punkt[i].second > 0){
c[0]++;
}
else if(punkt[i].first > 0 && punkt[i].second < 0){
c[1]++;
}
else if(punkt[i].first < 0 && punkt[i].second < 0){
c[2]++;
}
else{
c[3]++;
}
}
//cout << c[0] << " " << c[1] << " "<< c[2] << " " <<c[3]<<endl;
ifstream plik2("okregi.txt");
vector <okrag> okregistycznedox;
while( plik2 >> x >> y >> r){
if(abs(y) == r)
{
okregistycznedox.push_back(okrag(x, y, r));
}
}
sort(okregistycznedox.begin(),okregistycznedox.end());
for(int i = 0; i<okregistycznedox.size(); i++){
cout << okregistycznedox[i].x << " " <<okregistycznedox[i].y<< " " << okregistycznedox[i].r<<endl;
}
getchar();
}