离散值的Fortran循环

时间:2014-04-03 13:06:51

标签: fortran fortran95

可能是一个愚蠢的问题,但有没有办法为变量的离散值运行循环?最新版本怎么样?

这样的东西
for i in 1  5 9 11  31 77 

用于Unix shell脚本?

感谢。

3 个答案:

答案 0 :(得分:5)

integer, dimension (5) :: indx = [5, 9, 11, 31, 71]

do i=1, size(indx)
   j=indx(i)
   ....
end do

答案 1 :(得分:0)

我不确定这是否有帮助,但你可以使用数组作为索引

program Console1

implicit none

! Variables
INTEGER :: X(4) = (/ 1, 3, 5, 7 /)
REAL :: Y(10) = 0.0

! Body of Console1
print *, X
!   1   3   5   7
Y(X) = 10.0/X
print *, Y
!   10.0    0.0    3.33   0.0    2.00   0.0    1.428    0.0 ...

end program Console1

答案 2 :(得分:0)

您也可以使用隐含的do循环来完成此操作,但您必须按上述方式定义值数组:

integer, dimension (5) :: indx = [5, 9, 11, 31, 71]
integer, dimension (5) :: rslt 
integer, external      :: func
rslt = (/ func(indx(j)), j=1,5 /)