我已經定義了兩個2D陣列h
和hh
。我想給hh
分配新值。對於特定k'
,我想hh(k',j)=1
,如果條件如何在fortran中退出「repeat until loop」?
h(k',j)>0
是真實的;並且一旦條件爲假,即h(k',j')<0
,則對於任何j>j'
,hh(k',j)=0
。我用下面的DO WHILE
循環:
do k=1, npair
do j =1, movie
hh(k,j)=0.0
enddo
enddo
do k=1, npair
do j =1, nmovie
do while (h(k,j)>0)
hh(k,j)=h(k,j)
enddo
enddo
但如果條件(h(k,j)>0)
永遠是真實的,會有一個無限循環!你能否建議如何實施它?
'h'會改變嗎?爲什麼不循環並且一次性設置值呢? – Ross
@Ross'h'不會改變。我想根據條件用'h'的值來獲得'hh'。對不起,你能解釋一下'hh'這個詞的意思嗎? – jiadong
請參閱下面的答案,但'循環'2D數組涉及兩個循環。在兩個循環內部,你可以用'hh(k,j)'來完成任何事情,最終會爲每個可能的'k'和'j'組合完成。 – Ross