2016-09-30 105 views
-2

我有一個帶有實數的文件。在文件的每一行中有10個實數,然後是10個這樣的行。我想讀取該行中的文件並將數字存儲在一個具有100個條目的1維數組中。所以我想沿着一行讀取並將數字保存在數組'a'中,這樣第一行中的數字就被存儲在數組元素a(1)到(10)中,然後是(11)到( 20)應該是第二行中的數字,依此類推。這怎麼能在FORTRAN中完成?讀取文件(FORTRAN)

+1

你試過了什麼?發佈一些代碼。當然在這個網站上有一些記載FORTRAN的化石。 – nicomp

+0

@nicomp化石? [tag:fortran]有2,5k個追隨者。 –

+0

@VladimirF的確。 – nicomp

回答

1

是的化石。儘管經歷了C,C++,Java,VBA,SQL(如果這算作一種語言)以及無數的彙編程序,腳本語言和shell,但我仍然記得它在50年前做了很多工作。

以下是從文件中讀取數字的一些方法。如果一個未格式化的讀數用完了數字,它就會進入下一行。

integer i,j 
    real*8 realArray(100) 
c  read data 10 items per row 
    open(unit=1,file='input.txt') 
    do 10 i=1,10 
    read(1,100) (realArray((i-1)*10+j),j=1,10) 
10 continue 
c read(1,100) realArray 
c read(1,*) realArray 
    write(6,*) ((realArray((i-1)*10+j),j=1,10),i=1,10) 
    write(6,100) realArray 
    write(6,*) realArray 
100 format(10F10.0) 
    close('input.txt') 
    stop 
    end 

因此,前兩種方式不會報告錯誤,如果(假設)其中一行只包含9個數字,但第三個將會報錯。