【问题标题】:How does Dimension and Data work in Fortran维度和数据在 Fortran 中如何工作
【发布时间】:2022-10-20 18:57:01
【问题描述】:

我对“维度和数据”中这两行的确切定义感兴趣?我不断得到一个零矩阵(第一张图片),并想扩大我的尺寸来解决这个问题。我只是有点不确定要改变什么。

零矩阵:

维度和数据:

【问题讨论】:

  • 欢迎,请拨打tour阅读How to Ask。请不要在图片中上传代码。 Please.always 将代码作为文本直接复制并粘贴到您的问题中。这非常重要。它必须是可搜索的、可复制的,并且必须对有视力障碍的机器阅读器的人可见。
  • 请不要发布源代码的屏幕截图,而是直接在您的问题中复制/粘贴文本,并使用正确的格式语法(请参阅stackoverflow.com/editing-help

标签: fortran


【解决方案1】:

DIMENSION 行声明了一个名为 ijvx 的二维数组,维度为 (6,2)。屏幕截图没有显示类型声明——如果没有,那么这个数组的类型将是INTEGER。还声明了第二个维度为 (6,6) 的数组 e2 - 默认情况下为 REAL

DATA 行使用嵌套的隐含 DO 循环为 ijvx 提供初始值,以选择将被赋予值的元素。初始化不是按内存顺序进行的,但这可能并不重要。元素 (1,1) 和 (1,2) 被赋予值 1,(2,1 和 2,2) 被赋予值 2,依此类推。

关于您的零矩阵屏幕截图,这似乎与其他屏幕截图无关。它循环遍历数组a,计算数组中的最大值,如果最大值为零,则给出错误。我在这段代码中看不到ijvx 的使用。

【讨论】:

  • 我明白了,谢谢你的解释。我认为 i 和 j 被定义在 'DATA' 行中,所以我认为它们是连接的。我的理解是变量 a、i 和 j 都用于计算最大值。这是不正确的吗?
猜你喜欢
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
  • 2021-10-24
  • 2018-03-25
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多