Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROGRAM RAZDEL_2
- INTEGER PLANE_YES
- REAL ARRAY_X(10), ARRAY_Y(10), ARRAY_Z(10), KX, KZ
- DO I = 1, 10
- READ *, ARRAY_X(I), ARRAY_Y(I), ARRAY_Z(I)
- END DO
- IF (ARRAY_X(1) < ARRAY_X(2)) THEN
- A = ARRAY_X(1)
- B = ARRAY_X(2)
- C = ARRAY_Y(1)
- D = ARRAY_Y(2)
- ELSE
- A = ARRAY_X(2)
- B = ARRAY_X(1)
- C = ARRAY_Y(2)
- D = ARRAY_Y(1)
- END IF
- KX = (D - C)/REAL(B - A)
- IF (ARRAY_Z(1) < ARRAY_Z(2)) THEN
- A = ARRAY_Z(1)
- B = ARRAY_Z(2)
- C = ARRAY_Y(1)
- D = ARRAY_Y(2)
- ELSE
- A = ARRAY_Z(2)
- B = ARRAY_Z(1)
- C = ARRAY_Y(2)
- D = ARRAY_Y(1)
- END IF
- KZ = (D - C)/REAL(B - A)
- CALL PLANE_CHECK(ARRAY_X, ARRAY_Z, ARRAY_Y, KX, KZ, PLANE_YES)
- PRINT *, PLANE_YES
- END
- SUBROUTINE PLANE_CHECK(ARRAY_X, ARRAY_Z, ARRAY_Y, KX, KZ, PLANE_YES)
- REAL ARRAY_X(10), ARRAY_Z(10), ARRAY_Y(10), KX, KZ, KX1, KZ1
- INTEGER PLANE_YES
- DO I = 3, 10
- IF (ARRAY_X(1) < ARRAY_X(I)) THEN
- A = ARRAY_X(1)
- B = ARRAY_X(I)
- C = ARRAY_Y(1)
- D = ARRAY_Y(I)
- ELSE
- A = ARRAY_X(I)
- B = ARRAY_X(1)
- C = ARRAY_Y(I)
- D = ARRAY_Y(1)
- END IF
- KX1 = (D - C)/REAL(B - A)
- IF (ARRAY_Z(1) < ARRAY_Z(I)) THEN
- A = ARRAY_Z(1)
- B = ARRAY_Z(I)
- C = ARRAY_Y(1)
- D = ARRAY_Y(I)
- ELSE
- A = ARRAY_Z(I)
- B = ARRAY_Z(1)
- C = ARRAY_Y(I)
- D = ARRAY_Y(1)
- END IF
- KZ1 = (D - C)/REAL(B - A)
- IF (KZ /= KZ1 .OR. KX1 /= KX) THEN
- PLANE_YES = 0
- RETURN
- END IF
- END DO
- PLANE_YES = 1
- RETURN
- END SUBROUTINE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement