Advertisement
Guest User

YANA_LABA2.F90

a guest
Apr 23rd, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PROGRAM YANA_LABA2
  2. INTEGER A(-4:1,-4:-2), N, M, VECTOR(6), CHECK_NEGATIVE
  3. N = 6
  4. M = 3
  5. OPEN(1, FILE='YANA_TEXT.TXT')
  6. DO I = -4, N-5
  7. READ (1, *) (A(I, J), J = -4, M-5)
  8. PRINT *, (A(I, J), J = -4, M-5)
  9. END DO
  10. CLOSE(1)
  11. PRINT *, '---'
  12. CALL FIND_VECTOR(A, N, M, VECTOR, CHECK_NEGATIVE)
  13. PRINT *, VECTOR
  14. END PROGRAM
  15.  
  16. SUBROUTINE FIND_VECTOR(A, N, M, VECTOR, CHECK_NEGATIVE)
  17. INTEGER A(N, M), VECTOR(N), CHECK_NEGATIVE, NEGATIVE_COORD, MIN_VALUE
  18. DO I = 1, N
  19. CHECK_NEGATIVE = 1
  20. DO J = 1, M
  21. IF (A(I, J) >= 0) THEN
  22. CHECK_NEGATIVE = 0
  23. NEGATIVE_COORD = J
  24. EXIT
  25. END IF
  26. END DO
  27. IF (CHECK_NEGATIVE == 1) THEN
  28. PRINT *, 'ROW', I, 'HAS ONLY NEGATIVE VALUES'
  29. VECTOR(I) = 0
  30. ELSE
  31. MIN_VALUE = A(I, NEGATIVE_COORD)
  32. DO J = 1, M
  33. IF (A(I, J) < MIN_VALUE .AND. A(I,J) > 0) THEN
  34. MIN_VALUE = A(I, J)
  35. END IF
  36. END DO
  37. VECTOR(I) = MIN_VALUE
  38. END IF
  39. END DO
  40. RETURN
  41. END SUBROUTINE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement