2016-09-30 1 views
-2

나는 실수로 파일을 가지고 있습니다. 파일의 각 행에는 10 개의 실수와 10 개의 행이 있습니다. 행을 따라 파일을 읽고 100 개의 항목이있는 1 차원 배열에 숫자를 저장하려고합니다. 그래서 나는 행을 읽고 첫 번째 행의 숫자가 배열 요소 a (1)에서 a (10)까지 그리고 (11)에서 a (a)에 저장되도록 배열 'a' 20)은 두 번째 행의 숫자 여야합니다. 어떻게 이것을 FORTRAN에서 할 수 있습니까?READING A FILE (FORTRAN)

+1

시도해 보셨습니까? 몇 가지 코드를 게시하십시오. 확실히이 사이트에는 FORTRAN을 기억하는 화석이 있습니다. – nicomp

+0

@nicomp 화석? [태그 : 포트란]의 추종자는 2,5,000 명입니다. –

+0

@VladimirF 사실. – nicomp

답변

1

예 화석. 저는 50 년 전에 Fortran을 처음 사용했지만 C, C++, Java, VBA, SQL (언어로 간주되는 경우) 및 무수한 어셈블러, 스크립팅 언어 및 셸 단계를 거쳤음에도 불구하고 많은 것을 기억합니다.

다음은 파일에서 숫자를 읽는 몇 가지 방법입니다. 포맷되지 않은 읽기에 숫자가 없으면 다음 행으로 넘어갑니다.

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 개의 숫자 만 있지만 세 번째 숫자 만 포함하면 오류가 표시되지 않습니다.