嘿,我是这个网站的新手,所以我可能做错了几件事,但这是我的问题:

您是否可以按以下方式制作DO LOOP(在Fortran90中):

program help
implicit none

real, dimension (10,10) :: imarc
integer :: R , j , k

imarc (1:10,1:10) = 50
imarc (1:10,1) = 20
imarc (1,1:10) = 20
imarc (1:10,10) = 20
imarc (10,1:10) = 20
imarc (3,3) = 100


!!! HERE IS THE DO LOOP THAT GIVES A COMPILE ERROR

DO R = 1 , 1000
  DO j = 2 , 9
    DO k = 2 , 9

    imarc (j,k) = 0.25( imarc((j-1),k) + imarc((j+1),k) + imarc(j,(k-1)) + imarc(j,(k+1)) )
    imarc (3,3) = 100

    END DO
  END DO
END DO

WRITE (*,*) "Node (5,5) =", imarc(5,5)

end program help

我希望有人可以帮助我解决我的问题。

这是我收到的错误消息:
     imarc(j,k) = 0.25( imarc((j-1),k) + imarc((j+1),k) + imarc(j,(k-1)) +
     1
Error: Unclassifiable statement at (1)

好吧,我希望我做的一切正确,或者至少足够好,可以有人帮助我。

谢谢一大堆!
-马克

最佳答案

您缺少算术运算符,我猜是0.25之后的*。相邻数量并不意味着乘法,因为在代数中,您必须使用运算符。

附言问得很好的问题。。。完整,完整的程序显示出该问题。

07-28 11:08