[問題] 一次三種錯誤 看不太懂...

看板Fortran作者 (魏桑)時間12年前 (2012/02/03 18:31), 編輯推噓4(403)
留言7則, 2人參與, 最新討論串1/1
各位前輩好 我想請問一下 我的程式 出現以下三個錯誤 但是 都是針對同一個式子 那是一個計算式 Error: An arithmetic or LOGICAL type is required in this context Error: This binary operation is invalid for this data type. Error: The assignment operation or the binary expression operation is invalid for the data types of the two operands. 錯誤:算術或邏輯類型,需要在這方面 錯誤:這個二進制操作這個數據類型是無效的。 錯誤:賦值操作或二進制表達式的操作是無效的兩個操作數的數據類型。 這是我用GOOGLE翻譯的中文 如果我把它宣告為 倍精度 後面再加上一個逗號 就會變成 Error: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER> !!!有大大提醒 所以小的趕快付上 程式碼 open (unit=20,file='time.txt') read(20,*) td read(20,*) tr read(20,*) ts read(20,*) tb read(20,*) vm read(20,*) epsilon read(20,*) b read(20,*) c read(20,*) ar do 6500 k=1,ntt space=ts/ntt relt=k*space if (time .le. tb) then weigt(k)=(2*Vm/td)*(relt)*(1-(relt/2.*td)) else if ((relt .ge. tb) .and. (relt .le. tr)) then weigt(k)=b/sqrt(relt-epsilon) else if ((relt .le. ts) .and. (relt .gt. tr)) then weigt(k)=c-ar*(relt-tr) end if 主要問題 出現在 最後一行的 weigt(k)=c-ar*(relt-tr) !!!! 請問大大們 我該怎麼做 才能把錯誤消掉阿 查不到啊!! 可以煩請幫我看看嗎.. 或是有遇過相同問題 最後解決的 -- j&= y+ y* jv+ yy-v v & wE!" j17$T 7MPC NU$E- Ej&v- O*K^ yHH:Ovm+ UMMK BMNTO: H1="7' jO&OH: "OH7"E~ U0H1 BB71` jCf'U: vM1H1 jB-j1 wHhHh*-/$B]B- BKJUK ^HI'OH j""^N1 "OHOK~ H$H"Da jP'N ^ 這次,是我的真心話... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.62.44 ※ 編輯: sunnywei 來自: 140.115.62.44 (02/03 18:55)

02/03 19:06, , 1F
ar是什麼?
02/03 19:06, 1F

02/03 19:20, , 2F
就只是一個 參數而已 用INPUT的方式 讀的一個參數
02/03 19:20, 2F

02/03 20:00, , 3F
那c呢?可以把變數宣告都寫出來嗎?
02/03 20:00, 3F
其實我也做甚麼宣告 就只有讀值而已 5.305165024714408E-002 td 0.250000000000000 tr 0.375000000000000 ts 9.961165024710450E-002 tb 0.371960221459961 vm 9.613954976412804E-002 epsilon 4.115322526508360E-002 b 0.104915674725249 c 0.839325397801995 ar 以上在附上我的INPUT檔 ※ 編輯: sunnywei 來自: 140.115.62.44 (02/03 20:17)

02/03 21:21, , 4F
我的意思是real :: td之類的
02/03 21:21, 4F

02/03 21:26, , 5F
我都沒做宣告....
02/03 21:26, 5F

02/03 21:26, , 6F
因為我是拿別人的程式 可是他連 program XX 都沒有
02/03 21:26, 6F

02/03 23:14, , 7F
那你試試把用到的變數都宣告一下看看
02/03 23:14, 7F
文章代碼(AID): #1FAxTvKT (Fortran)
文章代碼(AID): #1FAxTvKT (Fortran)