📄 sub input.for
字号:
SUBROUTINE INPUT(N,ME,MI,M,NMAX,MEMAX,MIMAX,X,VALID)
DOUBLE PRECISION X(NMAX)
CHARACTER*12 IFNAME,OFNAME
LOGICAL VALID
VALID=.TRUE.
WRITE(*,*)'NAME OF INPUT DATE FILE?'
READ(*,100) IFNAME
WRITE(*,*)'NAME OF OUTPUT FILE?'
READ(*,100) OFNAME
100 FORMAT(A)
OPEN(5,FILE=IFNAME,STATUS='OLD')
OPEN(6,FILE=OFNAME,STATUS='NEW')
WRITE (6,110) IFNAME
110 FORMAT(//'',55('*')/'','* INPUT DATE READ FROM" ',
* A12,'" *'/'',55('*'))
READ(5,*) N,ME,MI
IF (N.LE.0.OR.ME.LT.0.OR.MI.LT.0.OR.N.GT.NMAX
* .OR.ME.GT.MEMAX.OR.MI.GT.MIMAX)THEN
WRITE(6,120)
120 FORMAT('INVALID N,ME OR MI')
VALID=.FALSE.
ENDIF
M=ME+MI
DO 1 J=1,N
READ(5,*) X(J)
1 CONTINUE
WRITE (6,130) N
130 FORMAT(/'NUMBER OF VARIASLES =',I3)
WRITE(6,140) ME
140 FORMAT('NUMBER OF EQUALITY CONSTRAINTS =',I3)
WRITE(6,150) MI
150 FORMAT('NUMBER OF INEQUALITY CONSTRAINTS =',I3)
WRITE(6,160)
160 FORMAT('INTIAL POINT:')
DO 2 J=1,N
WRITE(6,170) J,X(J)
2 CONTINUE
170 FORMAT('',7X,'X(',I3,') =',F12.5)
RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -