我正在學習如何編程與FORTRAN90,我需要通過命令提示符從一個txt文件接收數據(類似的東西:
的Program.exe「<」 data.txt中) 。 在輸入txt文件我將永遠有一個單行,至少有6個數字,直到無窮大。如果數據是逐行寫入,它運行良好,但作爲單行我收到錯誤:「traceback:不可用,用-ftrace = frame編譯或-ftrace =完整的fortran運行時錯誤:結束文件」數據入口錯誤的Fortran
*注:我使用武力FORTRAN 2.0
我這裏是數據:
0 1 0.001 5 3 1 0 -9 3
編輯:只是澄清:該代碼工作正常本身除了讀聲明,這是一個簡單的「r EAD *「。 我想知道如何從txt中讀取整個行,一旦入口將由promt命令以流方向進行。 (你可以在這裏看到更多關於:https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true)。 沒有必要閱讀代碼,我只是爲了知識而發佈它。
對於造成您的不便,我深表歉意。
這裏是迄今爲止代碼:
program bissecao
implicit none
integer::cont,int,e,k,intc,t1,t2,t3
doubleprecision::ii,is,pre,prec,erro,somaa,somab,xn
doubleprecision,dimension(:),allocatable::co
t1=0
t2=0
t3=0
! print*,"insira um limite inf da funcao"
read*,ii
!print*,"insira o limite superior da func"
read*,is
! print*,"insira a precisÆo admissivel"
read*,pre
if (erro<=0) then !elimina criterio de parada negativo ou zero
Print*,"erro"
go to 100
end if
!print*,"insira a qtd iteracoes admissiveis"
read*,int
!print*,"insira o grau da f(x)"
read*,e
if (e<=0) then ! elimina expoente negativo
e=(e**2)**(0.5)
end if
allocate(co(e+1))
!print*, "insira os coeficientes na ordem:&
! &c1x^n+...+(cn-1)x^1+cnx^0"
read(*,*)(co(k),k=e+1,1,-1)
somab=2*pre
intc=0
do while (intc<int.and.(somab**2)**0.5>pre.and.((is-ii)**2)**0.5>pre)
somab=0
somaa=0
xn =(ii+is)/2
do k=1,e+1,1
if (ii /=0) then
somaa=ii**(k-1)*co(k)+somaa
else
somaa=co(1)
end if
! print*,"somaa",k,"=",somaa
end do
do k=1,(e+1),1
if (xn/=0) then
somab=xn**(k-1)*co(k)+somab
else
somab=co(1)
end if
!print*,"somab",k,"=",somab
end do
if ((somaa*somab)<0) then
is=xn
else if((somaa*somab)>0)then
ii=xn
else if ((somaa*somab)==0) then
xn=(ii+is)/2
go to 100
end if
intc =intc+1
prec=is-ii
if ((((is-ii)**2)**.5)< pre) then
t3=1
end if
if (((somab**2)**.5)< pre) then
t2=1.
end if
if (intc>=int) then
t1=1
end if
end do
somab=0
xn=(ii+is)/2
do k=1,(e+1),1
if (xn/=0) then
somab=xn**(k-1)*co(k)+somab
else
somab=co(1)
end if
end do
100 write(*,'(A,F20.15,A,F20.15,A,A,F20.15,A,F20.15,A,I2)'),"I:[",ii,",",is,"]","raiz:",xn,"Fraiz:",somab,"Iteracoes:",intc
end program !----------------------------------------------------------------------------
看看你的帖子並問問你自己*我讓人們很容易閱讀我的代碼嗎?或者,直言:你發佈的東西是一團糟,而我,其中一個,甚至不會去嘗試閱讀它。 –