Fortran Coder

查看: 19544|回复: 7
打印 上一主题 下一主题

[子程序] Fortran77子程序传递数组

[复制链接]

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
跳转到指定楼层
楼主
发表于 2017-11-10 16:28:37 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
老师让做个东西,读个77写的源代码,对数组这不太确定,大概如下:
ALLOCATABLE(A:)
ALLOCATE A(MSIZE)     MSIZE应该是分配给A的尺寸吧
DIMENSION A(*)
INTEGER A(*)
这时我取的A(2)代表什么啊?里头可以存几个数啊?
这里面对A的操作分别在几个不同的subroutine里。
谢谢大家!!!
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
沙发
 楼主| 发表于 2017-11-10 16:55:20 | 显示全部楼层
有人吗
回复

使用道具 举报

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
板凳
 楼主| 发表于 2017-11-11 08:27:25 | 显示全部楼层
vvt 发表于 2017-11-10 18:12
有 Allocatable 就不算是 77 的程序,至少是 90 的。

ALLOCATABLE A(:)   这是定义一个可以分配的数组 A

谢谢您的回答,A还是一个一维数组吗?我看到程序往A(2)里写入了190个数,这点实在不懂啊

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
地板
 楼主| 发表于 2017-11-11 11:12:35 | 显示全部楼层
vvt 发表于 2017-11-11 10:00
是一维的。看到有疑问的代码,请给出来。

我代码是在工作站上打开的,有设置也贴不出来,我尽量描述吧,就是定义完A后,有一个subroutine调用了A(2)然后读文件向数组里写数,子程序里读写这块命令为:
READ(NEN,1020) (RUNUSD,L=1,NL),
                            ((STORAG(IG,G2,L),L=1,NL),G2=IG2LO,IG2LO+NG2-2
其中,STORAG为数组A,然后NEN是要读取的文件的unit,其他类似NL,IG2LO的数都是之前赋值的一些常数。

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
5#
 楼主| 发表于 2017-11-11 11:14:28 | 显示全部楼层
vvt 发表于 2017-11-11 10:00
是一维的。看到有疑问的代码,请给出来。

还有1020是一个FORMAT(6E11.0)
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-5 23:42

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表