Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+中的sqrt函数+;_C++_Sqrt - Fatal编程技术网

C++ C+中的sqrt函数+;

C++ C+中的sqrt函数+;,c++,sqrt,C++,Sqrt,我运行这段代码是为了计算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++)

我运行这段代码是为了计算
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;
boolx[I][J]={}//节点
bool Y[J]={}//中间带
双分母=0;
双miu=0;

outFile问题是你不能取负数的平方根,你得到的是一个虚数。只需使用
abs
首先检索差值的绝对值:

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 (abs(X[i][j]-Y[j])));
    }
outFile << "denominator= " << denominator << endl;
boolx[I][J]={};//节点
bool Y[J]={};//中间带
双分母=0;
双miu=0;

outFile这可能意味着在某个点上,
X[i][j]-Y[j]
是负数,从
sqrt
返回一个NaN(不是数字)

有关NaNs的解释,请参阅


另外,
X
Y
是布尔数组,因此
X[i][j]-Y[j]
将始终是1、0或-1,您实际上不需要
sqrt
。这就是你想要的吗?

看起来你可能在取一个负数的平方根-导致你看到的值,它本质上意味着“不是一个数字”

因为X和Y都是布尔值,所以传递给sqrt()的参数有可能是负数。

我没有得到与你相同的结果,我得到的结果都是零

两个数组的初始值设定项都应将所有值设置为零,因此减法的平方根也应为零。它们是布尔数组这一事实应该无关紧要,因为这些值将被升级到0.0


有人告诉我,您发布的代码不是导致错误的实际代码。

X[I][J]
&
Y[J]
已经包含无意义的内容,如果它们是局部变量,并且没有初始化。所以你会收获你所播种的,而这是非理性的价值观。你有任何spl理由去寻找2个布尔值的平方比吗?