Advertisement
Guest User

RAZDEL_2

a guest
Jul 16th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PROGRAM RAZDEL_2
  2. INTEGER PLANE_YES
  3. REAL ARRAY_X(10), ARRAY_Y(10), ARRAY_Z(10), KX, KZ
  4. DO I = 1, 10
  5. READ *, ARRAY_X(I), ARRAY_Y(I), ARRAY_Z(I)
  6. END DO
  7. IF (ARRAY_X(1) < ARRAY_X(2)) THEN
  8. A = ARRAY_X(1)
  9. B = ARRAY_X(2)
  10. C = ARRAY_Y(1)
  11. D = ARRAY_Y(2)
  12. ELSE
  13. A = ARRAY_X(2)
  14. B = ARRAY_X(1)
  15. C = ARRAY_Y(2)
  16. D = ARRAY_Y(1)
  17. END IF
  18. KX = (D - C)/REAL(B - A)
  19. IF (ARRAY_Z(1) < ARRAY_Z(2)) THEN
  20. A = ARRAY_Z(1)
  21. B = ARRAY_Z(2)
  22. C = ARRAY_Y(1)
  23. D = ARRAY_Y(2)
  24. ELSE
  25. A = ARRAY_Z(2)
  26. B = ARRAY_Z(1)
  27. C = ARRAY_Y(2)
  28. D = ARRAY_Y(1)
  29. END IF
  30. KZ = (D - C)/REAL(B - A)
  31. CALL PLANE_CHECK(ARRAY_X, ARRAY_Z, ARRAY_Y, KX, KZ, PLANE_YES)
  32. PRINT *, PLANE_YES
  33. END
  34.  
  35. SUBROUTINE PLANE_CHECK(ARRAY_X, ARRAY_Z, ARRAY_Y, KX, KZ, PLANE_YES)
  36. REAL ARRAY_X(10), ARRAY_Z(10), ARRAY_Y(10), KX, KZ, KX1, KZ1
  37. INTEGER PLANE_YES
  38. DO I = 3, 10
  39. IF (ARRAY_X(1) < ARRAY_X(I)) THEN
  40. A = ARRAY_X(1)
  41. B = ARRAY_X(I)
  42. C = ARRAY_Y(1)
  43. D = ARRAY_Y(I)
  44. ELSE
  45. A = ARRAY_X(I)
  46. B = ARRAY_X(1)
  47. C = ARRAY_Y(I)
  48. D = ARRAY_Y(1)
  49. END IF
  50. KX1 = (D - C)/REAL(B - A)
  51. IF (ARRAY_Z(1) < ARRAY_Z(I)) THEN
  52. A = ARRAY_Z(1)
  53. B = ARRAY_Z(I)
  54. C = ARRAY_Y(1)
  55. D = ARRAY_Y(I)
  56. ELSE
  57. A = ARRAY_Z(I)
  58. B = ARRAY_Z(1)
  59. C = ARRAY_Y(I)
  60. D = ARRAY_Y(1)
  61. END IF
  62. KZ1 = (D - C)/REAL(B - A)
  63. IF (KZ /= KZ1 .OR. KX1 /= KX) THEN
  64. PLANE_YES = 0
  65. RETURN
  66. END IF
  67. END DO
  68. PLANE_YES = 1
  69. RETURN
  70. END SUBROUTINE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement