입력 파일의 헤더를 지나서 read()를 읽은 다음 그 길의 값을 읽습니다.Fortran에서 배열에 (큰) N 개의 실수를 포함하는 행을 읽습니다.
이제 할당 가능 배열 A (L, L)의 요소에 입력해야하는 L^2 연속 실수가 생겼습니다.
시도
character *100 :: buffer
read (1,10) buffer
10 format(a(L*10))
Error: Syntax error in FORMAT statement at (1)
Error: FORMAT label 10 at (1) not defined
결과 그러나 나는 실수의 (거대) 가변 수를 처리하는 방법을 다른 모르겠어요.
시도 :
do i=1,L
do j=i,L
read (1,"(f10.7)") buffer
read (buffer,*) A(i,j)
enddo
enddo
예외 :
Fortran runtime error: Expected REAL for item 2 in formatted transfer, got CHARACTER
(f10.7)
단순히 (1, "(A1000)") L 결국 큰, 그래서 정말 필요한 끝날 것 같은를 읽을 수 없습니다 요소를 하나씩 파싱하는 방법입니다.
방법이 있습니까?
귀하의 질문을 이해하는 데 어려움이 있습니다. "실수로 한 줄에서 할당 가능한 배열로 읽는 법"을 묻고 있습니까? ? (L이 알려지지 않은 경우 문자 변수로 읽은 다음 내부 읽기를 사용하여 카운트하고 배열로 읽음). – Rook