Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROGRAM YANA_LABA2
- INTEGER A(-4:1,-4:-2), N, M, VECTOR(6), CHECK_NEGATIVE
- N = 6
- M = 3
- OPEN(1, FILE='YANA_TEXT.TXT')
- DO I = -4, N-5
- READ (1, *) (A(I, J), J = -4, M-5)
- PRINT *, (A(I, J), J = -4, M-5)
- END DO
- CLOSE(1)
- PRINT *, '---'
- CALL FIND_VECTOR(A, N, M, VECTOR, CHECK_NEGATIVE)
- PRINT *, VECTOR
- END PROGRAM
- SUBROUTINE FIND_VECTOR(A, N, M, VECTOR, CHECK_NEGATIVE)
- INTEGER A(N, M), VECTOR(N), CHECK_NEGATIVE, NEGATIVE_COORD, MIN_VALUE
- DO I = 1, N
- CHECK_NEGATIVE = 1
- DO J = 1, M
- IF (A(I, J) >= 0) THEN
- CHECK_NEGATIVE = 0
- NEGATIVE_COORD = J
- EXIT
- END IF
- END DO
- IF (CHECK_NEGATIVE == 1) THEN
- PRINT *, 'ROW', I, 'HAS ONLY NEGATIVE VALUES'
- VECTOR(I) = 0
- ELSE
- MIN_VALUE = A(I, NEGATIVE_COORD)
- DO J = 1, M
- IF (A(I, J) < MIN_VALUE .AND. A(I,J) > 0) THEN
- MIN_VALUE = A(I, J)
- END IF
- END DO
- VECTOR(I) = MIN_VALUE
- END IF
- END DO
- RETURN
- END SUBROUTINE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement