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

A 回答 (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に入れればいいのではないかと思いますが、

やりたいことは違うのでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2001/10/22 00:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ