1

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

你能像下面那样做一个 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)

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

非常感谢!-马克

4

1 回答 1

1

我猜你*在 0.25 之后缺少一个算术运算符。乘法不是由相邻数量暗示的,就像在代数中一样,您必须使用运算符。

PS问得好问题......展示问题的小而完整的程序。

于 2014-04-09T02:25:37.193 回答