Advertisement
Guest User

hajo

a guest
Oct 16th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. // 1/a
  5. typedef struct { double x; double y; } position;
  6. typedef struct { int h; int m; int s; } time;
  7. typedef struct { position p; time t; } data;
  8.  
  9. void printdata(data k)
  10. {
  11.     printf("A hajo pozicioja: x=%f y=%f\n", k.p.x, k.p.y);
  12.     printf("A hajo idoje: %d:%d:%d\n", k.t.h, k.t.m, k.t.s);
  13. }
  14. data readdata(void)
  15. {
  16.     data k;
  17.     printf("Kerem a hajo poziciojat: ");
  18.     scanf("%lf %lf", &k.p.x, &k.p.y);
  19.     printf("Kerem a hajo idojet: ");
  20.     scanf("%d %d %d", &k.t.h, &k.t.m, &k.t.s);
  21.     return k;
  22. }
  23. int secdiff(time a, time b)
  24. {
  25.     int diff;
  26.     diff = a.h * 3600 - b.h * 3600 + a.m * 60 - b.m * 60 + a.s - b.s;
  27.     return sqrt(diff*diff);
  28. }
  29. int timecmp(time a, time b)
  30. {
  31.     if (a.h > b.h || a.m > b.m || a.s > b.s)
  32.         return -1;
  33.     if (a.h < b.h || a.m < b.m || a.s < b.s)
  34.         return 1;
  35.     return 0;
  36. }
  37. double sectionlen(position a, position b)
  38. {
  39.     return sqrt((a.x-b.x) * (a.x - b.x) + (a.y-b.y) *( a.y-b.y));
  40. }
  41.  
  42. int main(void)
  43. {
  44.     // 1/a
  45.     data data1, data2;
  46.  
  47.     data1.p.x = 3.4;
  48.     data1.p.y = 5.6;
  49.     data1.t.h = 2;
  50.     data1.t.m = 4;
  51.     data1.t.s= 6;
  52.  
  53.     data2.p.x = 5.3;
  54.     data2.p.y = 6.4;
  55.     data2.t.h = 3;
  56.     data2.t.m = 3;
  57.     data2.t.s = 45;
  58.    
  59.     // 1/b
  60.     printdata(data1);
  61.     printdata(data2);
  62.  
  63.     // 1/c
  64.     //data1 = readdata();
  65.     //data2 = readdata();
  66.  
  67.     // 1/d
  68.     {
  69.         int secd;
  70.         secd = secdiff(data1.t, data2.t);
  71.         printf("D1-D2 time(sec): %d\n", secd);
  72.     }
  73.  
  74.     // 1/e
  75.     {
  76.         int cmp;
  77.         cmp = timecmp(data1.t, data2.t);
  78.         printf("D1<?>D2: %d\n", cmp);
  79.     }
  80.    
  81.     // 1/f
  82.     {
  83.         double len;
  84.         len = sectionlen(data1.p, data2.p);
  85.         printf("D1-D2 length: %f\n", len);
  86.     }
  87.  
  88.     /*
  89.     {
  90.         double vel = section_velocity(data1, data2);
  91.     }
  92.     */
  93.  
  94.     return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement