【问题标题】:how do you iterate through an array in fortran?你如何遍历fortran中的数组?
【发布时间】:2009-05-03 23:25:35
【问题描述】:

非常简单的问题。

说我有

real, dimension(0:100) :: realResults

我想遍历realResults,最终创建表单数组的json

[[x1,y1], [x2,y2], [x3, y3], ... ]

我很确定我想使用“do”,但我不确定如何使用

谢谢

【问题讨论】:

    标签: json fortran


    【解决方案1】:

    在 Fortran 90 中,您可以像这样进行数组迭代:

    do i = lbound(realResults), ubound(realResults)
      ! do something with realResults(i)
    end do
    

    【讨论】:

    • 自 1980 年代以来大多数 fortran77 编译器都支持这种形式...
    • Fortran 90 部分在阵列中支持 lbound 和 ubound。更酷的是,如果你能掌握一些“整体阵列”功能,你就可以像传说中的 APL 那样做单行。
    • Fortran 90(我认为可能是 95)还添加了 ForAll 构造。所以你可以这样做: ForAll (i=1:10) a(i)=b(i)+1
    • 使用do i = lbound(columns_to_test, 1), ubound(columns_to_test, 1),否则得到Error: Start expression in DO loop at (1) must be a scalar
    【解决方案2】:

    FORTRAN 和 json 在同一段中?!?!怎么回事? 可能是这样的:

          do 10 i = 0, 100
    C        do something with realResults(i)
      10  continue
    

    【讨论】:

      猜你喜欢
      • 2011-07-23
      • 1970-01-01
      • 2012-03-07
      • 2022-01-21
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多