问题:我需要生成一个M * N矩阵,其中M表示行,N表示列。 这个矩阵的元素应该像(i-1.0)* N + j。 此代码不起作用,我不明白为什么。 我使用的是Compaq Visual Fortran 6.Fortran中的矩阵生成
我除了这个代码必须生成一个矩阵。生成后的基质应印像
1.0 2.0 3.0
4.0 5.0 6.0
为3×2的矩阵。
现在,这段代码根本行不通,显示了一串Windows执行错误。
INTEGER M, N, I, J
COMMON /BLK1/ MATA (256, 256)
READ (7, 100) M
READ (7, 100) N
100 FORMAT (I3)
CALL MATGEN (M, N)
DO 90003 I = 1, M
DO 90004 J = 1, N
WRITE (8, 101) MATA(I, J)
101 FORMAT (F8.1, ' ', \)
90004 CONTINUE
WRITE (8, 102)
102 FORMAT (/, /)
90003 CONTINUE
END
SUBROUTINE MATGEN (M, N)
REAL DUM
INTEGER I, J
COMMON /BLK1/ MATA (256, 256)
DUM = 1.0
DO 90001 I = 1, M
DO 90002 J = 1, N
MATA (I, J) = DUM + 1.0
90002 CONTINUE
90001 CONTINUE
RETURN
END
COMMON BLK1
REAL MATA (256, 256)
END
如果指定为什么代码不工作这将是有益的。你期待它做什么?它现在做了什么? – mattm 2015-04-05 15:15:45
你不打开单元7 – agentp 2015-04-05 15:35:33
'隐式无'对你来说是件好事。除了这个问题,请注意你的'mata(i,j)'的赋值并不取决于'i'或'j'。 – francescalus 2015-04-05 15:40:39