6
1
0
入门
INTEGER NX,NY REAL*8 XE1,YE1 REAL*8, ALLOCATABLE :: H(:,:) OPEN(1,FILE="SUR.TXT") READ(1,400) NX,NY,XE1,YE1,DX,DY ALLOCATE(H(0:NX-1,0:NY-1)) DO I=0,NX-1 READ(1,300) (H(I,J),J=0,NY-1) ENDDO READ(1,*) B,C,K CLOSE(1) 300 FORMAT(1X,5E16.8) 400 FORMAT(2X,2I4,4X,4E16.8) DXR=XE1/(NX-1) DYR=YE1/(NY-1)
使用道具 举报
81
专家
zjk0112 发表于 2022-7-25 10:29 你这个I = 0,NX-1容易数组越界。你这不是C。Fortran这么干,经常在intel的编译器不报错,在别的编译器就 ...
44
4
熟手
青衣巷 发表于 2022-7-23 18:34 你有源代码,改成 [mw_shl_code=fortran,true]INTEGER NX,NY REAL*8 XE1,YE1
necrohan 发表于 2022-7-23 10:52 大概这样: 00010002 0.12345678E+01 0.12345678E+01 0.12345678E+01 0.12345678E+01 0.12345 ...
INTEGER NX,NY REAL*8 XE1,YE1 REAL*8, ALLOCATABLE :: H(:,:) OPEN(1,FILE="SUR.TXT") READ(1,*) NX,NY,XE1,YE1,DX,DY ALLOCATE(H(0:NX-1,0:NY-1)) DO I=0,NX-1 READ(1,*) H(I,:) ENDDO READ(1,*) B,C,K CLOSE(1) DXR=XE1/(NX-1) DYR=YE1/(NY-1)
250
2
宗师
风平老涡 发表于 2022-7-22 20:12 需给出sur.txt内容才能判断。
zjk0112 发表于 2022-7-22 20:33 按照你写的,read(1,400)后面读了2个整数,4个单精度的科学计数法的数,一共6个值。但你的sur.txt文件中到 ...
INTEGER NX,NY REAL*8 XE1,YE1 REAL*8, ALLOCATABLE :: H(:,:) DXR=XE1/(NX-1) DYR=YE1/(NY-1)
本版积分规则 发表回复
颁发给完成“有规有矩”任务的网友
颁发给注册后积极发言的新人
颁发给论坛注册3年以上的网友
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-11-23 16:57
Powered by Tencent X3.4
© 2013-2024 Tencent