問題:我需要生成一個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