Допустимые циклы DO с матрицей массива внутри

Эй, я новичок в этом веб-сайте, поэтому я, вероятно, делаю несколько вещей неправильно, но это мой вопрос:

Можете ли вы сделать 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)

Что ж, я надеюсь, что я все сделал правильно или хотя бы достаточно хорош, чтобы кто-то смог мне помочь.

Огромное спасибо!! -marc

1 ответ

Вам не хватает арифметического оператора, я думаю, *после 0,25. Умножение не подразумевается смежными величинами, как в алгебре, вы должны использовать оператор.

PS хорошо заданный вопрос... маленькая, полная программа, которая выставила проблему.

Другие вопросы по тегам