Hello,
I need to do this but it, but with the //trick it works only with max_element. Do I have to write another class Less_Than ?
( I added that trick because it didn't work proper when NaN is the FIRST element of vector)
#include <limits>
class More_Than {
public:
More_Than() {}
bool operator() (const double& left, const double& right) {
if ( _isnan(left) ) return true; //trick
if (left < right)
return true;
return false;
}
};
int main (int argc, char** argv) {
vector<double> vecInt(6);
vecInt[0] = std::numeric_limits<double>::quiet_NaN();
vecInt[1] = 9;
vecInt[2] = 25;
vecInt[3] = 50;
vecInt[4] = 5;
vecInt[5] = 33;
double max = *std::max_element( vecInt.begin(), vecInt.end(), More_Than() );
double min = *std::min_element( vecInt.begin(), vecInt.end(), More_Than() );
}
#include <limits>
class More_Than {
public:
More_Than() {}
bool operator() (const double& left, const double& right) {
if ( _isnan(left) ) return true; //trick
if (left < right)
return true;
return false;
}
};
int main (int argc, char** argv) {
vector<double> vecInt(6);
vecInt[0] = std::numeric_limits<double>::quiet_NaN();
vecInt[1] = 9;
vecInt[2] = 25;
vecInt[3] = 50;
vecInt[4] = 5;
vecInt[5] = 33;
double max = *std::max_element( vecInt.begin(), vecInt.end(), More_Than() );
double min = *std::min_element( vecInt.begin(), vecInt.end(), More_Than() );
}
To copy to clipboard, switch view to plain text mode
Bookmarks