比方說,我有一個5×5陣列的浮動點的文件array.txt
:成不同大小的Fortran數組
1.0 1.1 0.0 0.0 0.0
1.2 1.3 1.4 0.0 0.0
0.0 1.5 1.6 1.7 0.0
0.0 0.0 1.8 1.9 1.0
0.0 0.0 0.0 1.1 1.2
我知道這可能是做一個奇怪的東西,但我我只是想更好地學習read
聲明:我想要在Fortran中創建兩個3x3陣列,即real, dimension(3,3) :: array1, array2
並嘗試將前9個值逐行讀入array1
以及將以下9個值讀入array2
。也就是說,我想陣列的形式爲
array1 = 1.0 1.1 0.0
0.0 0.0 1.2
1.3 1.4 0.0
array2 = 0.0 0.0 1.5
1.6 1.7 0.0
0.0 0.0 1.8
下一步我想嘗試按列做同樣的:
array1 = 1.0 1.2 0.0
0.0 0.0 1.1
1.3 1.5 0.0
array2 = 0.0 0.0 1.4
1.6 1.8 0.0
0.0 0.0 1.7
我的「最接近」的嘗試逐行:
program scratch
implicit none
real, dimension(3,3) :: array1, array2
integer :: i
open(12, file="array.txt")
!read in values
do i = 1,3
read(12,'(3F4.1)', advance="no") array1(i,:)
end do
end program scratch
我的問題:
答:如何在最後進入下一條記錄?
B.如何以列方式進行讀取?
C.爲什麼需要'(3F4.1)'
,而不是'(3F3.1)'
?因爲「按列分配」我會建議在閱讀整個作品爲5x5的陣列的要求