- ベストアンサー
FORTRAN subroutineと配列と繰り返し
以下のように二次元配列の場合でsubroutineを使うときに、主プログラムで2重Doループ(iとj)で繰り返しをしているのですが、すでにsubroutineでDoループ(i)を用いて計算しています。これではsubroutineの利点をうまく使えていないと思うのですが、subroutineを使って配列、Doループをきれいにする方法をどなたか教えていただけませんか。 実際は4重ループ、4次元配列なので、プログラムをわかりやすくするためにサブルーチンを使いたいと思っています。 -------------------------------------------------------------- program S real,dimension(5,5) :: B real,dimension(5) :: A integer :: i,j do j=1,5 CALL sub1(A) do i=1,3 B(i,j)=A(i)*j write(*,*) B(i,j) end do end do end program S subroutine sub1(A) real,dimension(5) :: A integer :: i do i=1,3 A(i)=3.*i end do end subroutine sub1
- みんなの回答 (4)
- 専門家の回答
お礼
ご指摘ありがとうございます。 このプログラムではsubrotineは使わないほうがいい気がしてきました...もう一度subroutineについて勉強してみます。あと、implicit noneも付けてみます。 また、何かあれば質問させていただくと思いますのでその時はどうぞ宜しくお願い致します。