Распознать пробелы внутри входного файла Fortran - PullRequest
1 голос
/ 09 марта 2020

Я пытаюсь разработать программу на Фортране, и мне нужно, чтобы она распознавала пробелы во входном файле, чтобы перейти к следующей строке, если она есть для одного конкретного значения.

Например, если ввод:

1.0 2.0 3.0 4.0
5.0     6.0 7.0
8.0 9.0 1.0 2.0
3.0 0.0 4.0 5.0

Программа должна написать только первую, третью и последнюю строку. Возможно ли это?

1 Ответ

1 голос
/ 11 марта 2020

Вы можете прочитать файл построчно, а затем искать пробелы в строке:

program StackOverflowSandbox

implicit none

CHARACTER (LEN=15)             :: NextLine
LOGICAL                         :: OneFound
LOGICAL                         :: TwoFound
integer                         :: i
integer                         :: j

open(2, FILE = 'Input.txt')

SpaceFinder: DO i = 1, 4

    Read(2,'(A)') NextLine
    DO j = 1,15    
        if(NextLine(j:j).EQ.' ') then
              if(OneFound) then
                TwoFound = .TRUE.
                EXIT SpaceFinder
              else
                OneFound = .TRUE.
              end if
        else
            OneFound = .FALSE.
        end if        
    END DO               
END DO SpaceFinder

if(TwoFound) then
    Write(*,*) 'Found It!'    
end if

end program StackOverflowSandbox
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...