prometheus800

Точка

Mar 23rd, 2020
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.82 KB | None | 0 0
  1. /*
  2. Точка Problem 1 (2 / 2)
  3. Да се надополни програмата со следните барања:
  4.  
  5. да се креира структура на точка во тродимензионален простор и да се напише функција која ќе го пресметува растојанието помеѓу две такви точки.
  6. да се напише функција која како аргумент прима три точки во дводимензионален простор и ќе проверува дали тие точки лежат на иста права.
  7. */
  8.  
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <math.h>
  13.  
  14.  
  15. typedef struct tocka3D{
  16. float x,y,z;
  17. }tocka3D;
  18.  
  19. typedef struct tocka2D{
  20. float x,y;
  21. }tocka2D;
  22.  
  23.  
  24. float rastojanie(tocka2D t1, tocka2D t2){
  25.     float distance;
  26.     distance = sqrt(pow(t2.x - t1.x, 2) + pow(t2.y - t1.y, 2));
  27.     return distance;
  28. }
  29.  
  30. float rastojanie3D(tocka3D t1, tocka3D t2){
  31.     float distance;
  32.     distance = sqrt(pow(t2.x - t1.x, 2) + pow(t2.y - t1.y, 2)+ pow(t2.z - t1.z, 2));
  33.     return distance;
  34. }
  35.  
  36. int ista_prava(tocka2D t1, tocka2D t2, tocka2D t3){
  37.     //proveruvam dali naklonot na prvata i vtorata tocka e ist so naklonot na vtorata i tretata
  38.     if ((t2.y - t1.y)/(t2.x - t1.x) == ((t3.y - t2.y) / (t3.x - t2.x)))
  39.         return 1;
  40.     else
  41.         return 0;
  42. }
  43.  
  44.  
  45. int main() {
  46.     float x1, y1, x2, y2;
  47.     scanf("%f %f", &x1, &y1);
  48.     scanf("%f %f", &x2, &y2);
  49.     tocka2D t1 = { x1, y1 };
  50.     tocka2D t2 = { x2, y2 };
  51.     printf("%.2f\n", rastojanie(t1, t2));
  52.     float z1, z2;
  53.     scanf("%f %f", &z1, &z2);
  54.     tocka3D t3 = {x1, y1, z1};
  55.     tocka3D t4 = {x2, y2, z2};
  56.     printf("%.2f\n", rastojanie3D(t3, t4));
  57.     tocka2D t5 = {z1, z2};
  58.     printf("%d\n", ista_prava(t1, t2, t5));
  59.     return 0;
  60. }
Add Comment
Please, Sign In to add comment