• ベストアンサー

フォートランで行列の計算

n×n行列同士の掛け算をする文が書けません。data文を使わないで、read文を使って、次元nと行列A,Bを入力したいんですが、どなたか教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.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に入れればいいのではないかと思いますが、 やりたいことは違うのでしょうか?

kery21
質問者

お礼

ありがとうございました

関連するQ&A