そのため、正方行列をそれ自体で乗算するコードを Fortran で書いています。しかし、乗算する必要がある行列はファイルにあり、プログラムに読み込む際に問題が発生しています。サンプルデータが次の形式になっているためだと思います。
3
101
010
101
最初の行はマトリックスの次元で、各行はマトリックス内の現在ですが、エントリ間にスペースはありません。だから私の質問は、それらの行を2次元配列に読み込むときにどのようにそれらの行を分割するのですか?
最初の数値 as を読み込み、N
それを使用して次元 N x N の配列を割り当てます。次に、この配列の行を一度に読み取りますarray (i, 1:N))
。i=1 から Nの場合です。使用するフォーマット。
形式を使用して読み取る
read (1,*) n
allocate(A(n,n))
do i=1,n
read (1,'(1000i1)'),A(i,:)
enddo
実際に必要以上に「i1」を宣言するかどうかは問題ではありません