- ベストアンサー
フォートランで行列の計算
n×n行列同士の掛け算をする文が書けません。data文を使わないで、read文を使って、次元nと行列A,Bを入力したいんですが、どなたか教えて下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
パラメタ文を使った任意サイズの行列同士の掛け算 program main parameter(nn=3) real a(nn,nn),b(nn,nn),c(nn,nn) ファイルから行列に値を読み込む do i=1,nn read(*,*)(a(i,j),j=1,nn) enddo do i=1,nn read(*,*)(b(i,j),j=1,nn) enddo 行列cを初期化(値を0に) do i=1,nn do j=1,nn c(i,j)=0 enddo enddo a*bによりcを求める do i=1,nn do j=1,nn do k=1,nn c(i,j)=c(i,j)+a(i,k)*b(k,j) enddo enddo enddo で、parameter(nn=3)をnも入れたいのだったらdo文の前にREAD文を入れてnnに入れればいいのではないかと思いますが、 やりたいことは違うのでしょうか?
お礼
ありがとうございました