如果条件问题(C++)

use*_*191 2 c++ arrays if-statement complex-numbers

我有一段代码问题,其中我有一个if语句检查复杂数组的对角元素,如果它们是(1,0)(意味着实部是1,虚部是0)或非常接近它然后继续; 否则停止.但由于某种原因,操作总是返回0,尽管元素是(0.999999,0.000000),(1.000001,0.000000)等.

这是我的代码:

for (i=1; i<=n; i++){
    if ((real(c[i][i][1]) < (1/100000)+1) && (imag(c[i][i][1]) < 1/100000) && (real(c[i][i][1]) > (-1/100000+1) && (imag(c[i][i][1]) > -1/100000)){
        cout<<"Operation continues...";
    }
    else
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

jua*_*nza 5

这个整数除法产生0,因为分母的大小大于分子的大小:

1/100000
Run Code Online (Sandbox Code Playgroud)

您需要在此处使用至少一个浮点数.例如

1.0/100000
Run Code Online (Sandbox Code Playgroud)