PROGRAM hw1
PARAMETER(N=5)
OPEN(1,FILE='wre.dat')
READ(1,*)((a(I,J),J=1,N 1),I=1,N)
Do 600 K=1,N-1
L=K
DO 400 I=k 1,N
400 IF (ABS(A(I,K))>ABS(A(L,K)))L=I
IF(L>K) GOTO 500
DO 410 J=K,N 1
TEMP=A(K,J)
A(K,J)=A(L,J)
410 A(L,J)=TEMP
500 DO 600 I=K 1,N
FACTOR=A(I,K)/A(K,K)
DO 600 J=K 1,N 1
600 A(I,J)=A(I,J)-FACTOR*A(K,J)
X(N)=A(N,N 1)/A(N,N)
DO 700 I=N-1,1,-1
SUM=0.0
DO 700 J=I 1,N
SUM=SUM A(I,J)*X(J)
700 X(I)=(A(I,N 1)-SUM)/A(I,I)
WRITE(*,'(F20.6/)') X
STOP
END
就是這一條......
麻煩各位大大幫我看一下哪裡錯了......
WRE.DAT我有作了
只是用COMPILER一COMPILE竟然有10個錯誤.......
所以阿...拜託哩.......
2005-11-21 16:41:59 · 2 個解答 · 發問者 加爾曼基修 5 in 電腦與網際網路 ➔ 程式設計
可是我錯的都是在READ(1,*)((a(I,J),J=1,N 1),I=1,N)
的A上ㄟ
下面也都是跟A有關的錯誤....
2005-11-21 16:54:05 · update #1
http://homelf.kimo.com.tw/blueman010112/Debug.txt
這裡是他的錯誤的DEBUG
麻煩鬧鐘大大在看看喔....
2005-11-21 16:56:10 · update #2
Fortarn 的 DO 迴圈 要接 continue 才有迴圈的效果
你的所有DO 後面接的行號敘述 對應的應該是 continue 才對
如果不是你筆誤 READ(1,*)((a(I,J),J=1,N 1),I=1,N) <== J=1,N,1 這樣才對
大致幫你看了一下 你的 , 在下面也有漏寫的情況
用 DO 就要接 CONTINUE
不要隨便使用 GOTO敘述
你有一行 DO迴圈 居然直接接到IF 的條件敘述 那還要IF幹麻
你的程式錯在結構化的問題 當然 , 漏寫的筆誤也有
2005-11-21 21:59:10 補充:
網址無法連結
2005-11-21 16:47:20 · answer #1 · answered by 鬧鐘 6 · 0⤊ 0⤋
〝不要隨便使用 GOTO〞是對的;
但不要了解成
〝不可以使用 GOTO〞
參 http://www.phpbbserver.com/graphicsparalle/viewtopic.php?p=217
2007-09-14 22:56:53 · answer #2 · answered by ? 7 · 0⤊ 0⤋