我有一個代碼段,其中有一個if
語句檢查複雜數組的對角元素,如果它們是(1,0)(表示真實部分是1和虛部爲0)或非常接近它然後繼續;否則停止。但由於某些原因,操作總是返回0,雖然元素(0.999999,0.000000)(1.000001,0.000000)等如果條件問題(C++)
下面的代碼,我有:
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;
}
在此先感謝。
你在你的頭上。從簡單的事情開始。例如,首先計算1/100000的值,看看它是否是你認爲的值。 –
10/100000 這將給出值0,因爲它是整數除法。 您可能需要10.0/100000 – jcoder
請在尋求幫助之前重構它。 –