提问人:AncientSwordRage 提问时间:12/1/2011 最后编辑:Vladimir F Героям славаAncientSwordRage 更新时间:3/16/2018 访问量:31991
如何检查Fortran数组是否包含值?
How to check if Fortran array contains value?
问:
我已经看到其他语言要求这样做,但是刚刚发现 Fortran 可以很好地处理数组,我认为可能有一种简单的方法可以在没有循环的情况下做到这一点。
目前,我正在搜索一个 3D 数组,查看“最近邻”,看看它们是否包含字母“n”,每当它找到这个值时,我都希望它执行一些 clusterLabel 赋值(这与这个问题无关)
我想使用,但由于显而易见的原因,它不喜欢根据值检查数组。它也不喜欢我使用 ,即使我希望它一次检查一个元素。 不起作用,因为我在 where 循环中有一个 case 语句并且出现错误if(lastNeighArray.eq."n") then...<rest of code>
lastNeighArray(:)
where(lastNeighArray.eq."n")
WHERE statements and constructs must not be nested.
所以我有点卡住了。我真正想要的是类似的东西,但那不存在。when(lastNeighArray.eq."n")
我也看过,但它们似乎不是正确的选择。any
forall
答:
52赞
Vladimir F Героям слава
12/1/2011
#1
实际上,任何都应该是正确的选择
if ( ANY( lastNeighArray=="n" ) ) then
如果您希望整个数组包含该值,则还有 ALL。
评论