我正在运行此代码来计算x[i][j] - y[j]
的平方根,但这给了我胡说八道!
bool X[I][J]={}; //nodes
bool Y[J]={}; //medians
double denominator=0;
double miu=0;
outFile<< "denominator= " << denominator << endl;
for(i=0;i<I;i++)
for(j=0;j<J;j++)
{
denominator+=sqrt(double (X[i][j]-Y[j]));
}
outFile<< "denominator= " << denominator << endl;
第一个
outFile
打印0,这是原始值,而第二个-1.#IND
打印。 最佳答案
这可能意味着X[i][j] - Y[j]
在某些时候为负,并且您从sqrt
返回了NaN(不是数字)。
有关NaN的说明,请参见this wikipedia page。
另外,X
和Y
是布尔数组,因此X[i][j] - Y[j]
始终为1、0或-1,并且您实际上不需要sqrt
。这是你想要的吗?
关于c++ - C++中的sqrt函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9459901/