Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main()
- {
- long long ax, ay, bx, by, cx, cy, dx, dy;
- double urav1, urav2;
- cin >> ax >> ay >> bx >> by >> cx >> cy >> dx >> dy;
- urav1 = (by-ay)*dx+(ax-bx)*dy+(ay*bx-ax*by);
- urav2 = (by-ay)*cx+(ax-bx)*cy+(ay*bx-ax*by);
- if ((urav1 >= 0 && urav2 >= 0)||
- (urav1 <= 0 && urav2 <= 0))
- {
- //cout << "urav1=" << urav1 <<";urav2="<< urav2 << endl;
- }else{ //разные знаки - не в пределах треугольника
- cout << "Out";
- return 0;
- }
- urav1 = (by-cy)*dx+(cx-bx)*dy+(cy*bx-cx*by);
- urav2 = (by-cy)*ax+(cx-bx)*ay+(cy*bx-cx*by);
- if ((urav1 >= 0 && urav2 >= 0)||
- (urav1 <= 0 && urav2 <= 0))
- {
- //cout << "urav1=" << urav1 <<";urav2="<< urav2 << endl;
- }else{ //разные знаки - не в пределах треугольника
- cout << "Out";
- return 0;
- }
- urav1 = (cy-ay)*dx+(ax-cx)*dy+(ay*cx-ax*cy);
- urav2 = (cy-ay)*bx+(ax-cx)*by+(ay*cx-ax*cy);
- if ((urav1 >= 0 && urav2 >= 0)||
- (urav1 <= 0 && urav2 <= 0))
- {
- //cout << "urav1=" << urav1 <<";urav2="<< urav2 << endl;
- cout << "In";
- return 0;
- }else{ //разные знаки - не в пределах треугольника
- cout << "Out";
- return 0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment