我的文件包含多列。我想使用fortran提取col#1和col#2都不等于零时的值。我知道这是我非常基本的疑问,但对此我感到有些困惑。我使用了以下想法,但是没有用。它必须删除col#1和col#2均为零的那些行,并且必须在将得到1的任何地方打印。
谢谢。
if(col1(ii).ne.0.and.col2(ii).ne.0)then
print*,col1,col2,col3
end if
输入:
0.00 0.00
1.00 0.00
1.00 1.00
0.00 1.00
0.00 0.00
1.00 0.00
1.00 1.00
预期输出:
1.00 0.00
1.00 1.00
0.00 1.00
1.00 0.00
1.00 1.00
代码输出:
1.00 1.00
1.00 1.00
答案 0 :(得分:1)
我相信您的逻辑是有缺陷的。如果我正确理解你的话;您要删除col#1或col#2不为零的行。试试这个:-
if(col1(ii).NE。0。或。col2(ii).NE。0)然后 打印*,col1,col2 如果结束
或者(相同的输出):
if(.NOT。(col1(ii).EQ。0 .AND。col2(ii).EQ。0))然后 打印*,col1,col2 如果结束
答案 1 :(得分:0)
逻辑有缺陷,您在打印语句中缺少索引:
<div class="awpcp-listing-excerpt-thumbnail">
<img src="https://via.placeholder.com/150">
</div>
假设您有一个总循环数。
还可以查看语句 if(col1(ii).ne.0.or.col2(ii).ne.0)then
print*,col1(ii),col2(ii),col3(ii)
end if
和where