誰かがこれで私を助けてくれたらうれしいです。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 に等しい。プログラムで発生したエラーは何ですか? さらに重要なのは、モジュールの使用について正しいかどうかです。私は現在取り組んでいる大きな問題について同様の問題を抱えています。ありがとう。