Advertisement
ilevishinov

Точка

Mar 5th, 2017
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. typedef struct tocka2D {
  5. double x;
  6. double y;
  7. } tocka2D;
  8.  
  9. float rastojanie(tocka2D t1, tocka2D t2) {
  10. return sqrt ((t1.x - t2.x) * (t1.x - t2.x) + (t1.y - t2.y) * (t1.y - t2.y));
  11. }
  12.  
  13. typedef struct tocka3D {
  14. float x;
  15. float y;
  16. float z;
  17.  
  18. } tocka3D ;
  19.  
  20. float rastojanie3D(tocka3D t1, tocka3D t2) {
  21. float d;
  22. d=sqrt((t2.x-t1.x)*(t2.x-t1.x) +(t2.y-t1.y)*(t2.y-t1.y) + (t2.z-t1.z)*(t2.z-t1.z));
  23. return d;
  24.  
  25. }
  26.  
  27. int ista_prava(tocka2D t1, tocka2D t2, tocka2D t3) {
  28. float k1,k2,k3;
  29. k1=(t2.y-t1.y)/(t2.x-t1.x);
  30. k2=(t3.y-t2.y)/(t3.x-t2.x);
  31. k1=(t3.y-t1.y)/(t3.x-t1.x);
  32. if(k1==k2==k3) return 0;
  33. else return 1;
  34. }
  35.  
  36. int main() {
  37. float x1, y1, x2, y2;
  38. scanf("%f %f", &x1, &y1);
  39. scanf("%f %f", &x2, &y2);
  40. tocka2D t1 = { x1, y1 };
  41. tocka2D t2 = { x2, y2 };
  42. printf("%.2f\n", rastojanie(t1, t2));
  43. float z1, z2;
  44. scanf("%f %f", &z1, &z2);
  45. tocka3D t3 = {x1, y1, z1};
  46. tocka3D t4 = {x2, y2, z2};
  47. printf("%.2f\n", rastojanie3D(t3, t4));
  48. tocka2D t5 = {z1, z2};
  49. printf("%d\n", ista_prava(t1, t2, t5));
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement