如果有人可以帮助我,我会很高兴。我正在学习 fortran 中的模块,我有一个问题。假设我的模块创建了一个从用户输入中读取的矩阵 [A(3,3)]。然后,我想在一个新的子程序中使用这样的矩阵,以便我可以用它进行操作(为了简单起见,我们说一个总和)。我的代码如下所示:
module matrixm
contains
subroutine matrixc
integer i,j
real, DIMENSION(3,3) :: a
do 10 i=1,3
do 20 j=1,3
read(*,*) a(i,j)
20 continue
10 continue
end subroutine matrixc
end module matrixm
program matrix
use matrixm
real, dimension(3,3) :: b,c
integer i,j
call matrixc
b=10.0
c=a+b
write statements here...
end
如果 A 的输入是:1 2 3 4 5 6 7 8 9,人们会期望 C[3,3] 为 11 12 13 14 15 16 17 18 19。但是,结果只显示了一个矩阵 C,其元素都是其中等于 10.0。我的程序有什么错误?更重要的是,我对模块的用途是否正确?我现在正在处理的一个大问题上有类似的问题。谢谢。