Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROGRAM VLAD_C_LABA4
- INTEGER START_OF_WORD, P
- REAL NUMBER_VAL(20)
- CHARACTER(LEN=40) STRING
- OPEN(1, FILE='VLAD_C_TEXT.TXT')
- READ(1, '(A)') STRING
- CLOSE(1)
- PRINT *, STRING
- PRINT *, '---'
- START_OF_WORD = 0
- K = 0
- DO I = 1, LEN_TRIM(STRING)
- IF ((I == 1) .AND. (STRING(I:I) /= ' ')) THEN
- START_OF_WORD = 1
- ELSE IF ((I > 1) .AND. (STRING(I:I) == ' ').AND.(STRING(I-1:I-1) /= ' ').OR.(I==LEN_TRIM(STRING))) THEN
- K = K + 1
- READ (STRING(START_OF_WORD:I), *) NUMBER_VAL(K)
- ELSE IF ((I > 1) .AND. (STRING(I-1:I-1) == ' ').AND.(STRING(I:I) /= ' ')) THEN
- START_OF_WORD = I
- END IF
- END DO
- CALL FIND_MIN_NEG(NUMBER_VAL, 20, P)
- IF (P/=0) PRINT *, NUMBER_VAL(P)
- END PROGRAM
- SUBROUTINE FIND_MIN_NEG(NUMBER_VAL, N, P)
- REAL NUMBER_VAL(N), MIN_VALUE
- INTEGER N, P, CHECK_NEGATIVE
- CHECK_NEGATIVE = 1
- DO I = 1, N
- IF (NUMBER_VAL(I) < 0) THEN
- CHECK_NEGATIVE = 0
- P = I
- EXIT
- END IF
- END DO
- IF (CHECK_NEGATIVE == 1) THEN
- PRINT *, 'ONLY POSITIVE VALUES'
- P = 0
- ELSE
- MIN_VALUE = NUMBER_VAL(P)
- DO I = 1, N
- IF (NUMBER_VAL(I) < MIN_VALUE) THEN
- MIN_VALUE = NUMBER_VAL(I)
- P = I
- END IF
- END DO
- END IF
- RETURN
- END SUBROUTINE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement