Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. struct punkt
  4. {
  5. int x,y;
  6.  
  7. };
  8. punkt CzytP(int &z)
  9. {
  10. punkt p;
  11. cin>>p.x; z|=p.x;
  12. cin>>p.y; z|=p.y;
  13. return p;
  14. }
  15. int CzytTr(punkt T[])
  16. {
  17. int z=0;
  18. for(int i=0;i<3;i++)
  19. {
  20. T[i]=CzytP(z);
  21.  
  22. }
  23. return z;
  24.  
  25. }
  26.  
  27. int Wejscie(punkt T[], punkt &A)
  28. {
  29. int wy=0;
  30. wy|=CzytTr(T);
  31. A=CzytP(wy);
  32. return wy;
  33. }
  34. punkt Wekt(punkt A, punkt B)
  35. {
  36. punkt p;
  37. p.x=B.x-A.x;
  38. p.y=B.y-A.y;
  39. return p;
  40. }
  41. int Wyzn(punkt w1,punkt w2)
  42. {
  43. int w=w1.x*w2.y-w1.y*w2.x;
  44. if(w==0) return 1;
  45. else if(w>0) return 2;
  46. else return 4;
  47.  
  48. }
  49. char Odp(punkt T[], punkt A)
  50. {
  51. int odp=0;
  52. for(int i=0;i<3;i++)
  53. {
  54. odp|=Wyzn(Wekt(T[i],T[(i+1)%3]), Wekt(T[i],A));
  55. }
  56.  
  57. if(odp<6)
  58. {
  59. if(odp%2==0) return 'I';
  60. else return 'E';
  61.  
  62. }
  63. return 'O';
  64. }
  65.  
  66. int main()
  67. {
  68. punkt A,trojk[3];
  69. while(Wejscie(trojk,A))
  70. {
  71. cout<<Odp(trojk,A)<<endl;
  72. }
  73. system("pause");
  74. return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement