1.D0 2.D0 3.D0 4.D0 5.D0
と縦に並んだデータをファイル(retsu.datとする)から読み, 配列a(5)に格納するプログラム例:
implicit none integer i real*8 a(5) open(1,file='retsu.dat') do i=1,5 read(1,*) a(i) write(*,*) a(i) enddo end
1.D0 2.D0 3.D0 4.D0 5.D0
と横に並んだデータをファイル(gyou.datとする)から読み, 配列a(5)に格納するプログラム例:
implicit none real*8 a(5) integer i open(1,FILE='gyou.dat') read(1,*) (a(i),i=1,5) write(*,*) (a(i),i=1,5) end
配列の要素を指定する番号は複数あってもよい. 二つになると二次元配列となり, 三つになると三次元配列となる. FORTRANでは7次元の配列まで使用可能である.
二次元配列の宣言:
宣言文 配列名(寸法の下限:寸法の上限, 寸法の下限:寸法の上限)
real*8 a(10,10)
a(1,1)からa(10,10)まで要素を100個持つ倍精度実数型二次元配列を宣言
integer i(2,-1:8)
i(1,-1)からi(2,8)まで要素を20個もつ実数型二次元配列を宣言
二次元配列を使ったプログラム例:implicit none integer a(5,5),b(5,5),c(5,5),n,i,j n=0 do i=1,5 do j=1,5 n=n+1 a(i,j)=0 b(i,j)=n enddo enddo do i=1,5 do j=1,5 c(i,j)=b(i,j) enddo enddo do i=1,5 write(*,*) (a(i,j),j=1,5) enddo write(*,*) do i=1,5 write(*,*) (b(i,j),j=1,5) enddo write(*,*) do i=1,5 write(*,*) (c(i,j),j=1,5) enddo end
以下の数値をファイル matrix.dat にコピーし, それぞれの数値を二次元配列a(2,3)に格納するプログラムを作成せよ. 確認のため画面に値を表示させること.
1.D0 2.D0 3.D0 4.D0 5.D0 6.D0
2.D0 3.D0 4.D0 5.D0 6.D0 7.D0 8.D0 9.D0 10.D0hai2.dat
1.D0 2.D0 3.D0 4.D0 5.D0 6.D0 2.D0 4.D0 6.D0上の二つの3行3列の行列をそれぞれ hai1.dat,hai2.dat とする.