* FORTRANコードを使用してある条件でデータセットをグループ化しようとしています。 コードは以下の通りです。Fortranの論理式
gauche = 0.0
trans = 0.0
do i = 1, total_data
!write(*,*) nombor(i), dihedral(i)
if ( (0 > dihedral(i) < 120) .or. (-120 > dihedral(i) < 0) ) then
gauche = gauche + 1
else
trans = trans + 1
endif
end do
write(20,*) "Layer1_seg_total= ",(gauche+trans)," ","gauche_seg= ",gauche,"trans_seg= trans
しかし、私は以下のように私は、エラーメッセージが表示されますコンパイル:私はエラーをトレースすることはできません
if ((0 > dihedral(i) < 120) .or. (-120 > dihedral(i) < 0)) then
1
Error: Expected a right parenthesis in expression at (1)
population.f90:42.5:
else
1
Error: Unexpected ELSE statement at (1)
population.f90:44.4:
endif
1
Error: Expecting END DO statement at (1)
。誰もが間違いを示唆することはできますか?
注:<、< =、>、> =、==、/ =
これらの6つの関係演算子のそれぞれが取る二つの式:これは
論理的には、式(0> xと。x <120)と別の式も意味をなさない。私はそれを考える(0
Wildcat
合意しましたが、私の理解は、質問はコンパイラのメッセージを理解することに関するものです。:) – cma
ありがとうございました。できます。 – Vijay