Advertisement
RRJahin

Bisal Structure

May 30th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. struct Fraction {
  4.     int Nominator;
  5.     int Denominator;
  6. };
  7.  
  8. struct Point {
  9.     struct Fraction x;
  10.     struct Fraction y;
  11. };
  12.  
  13. struct Line {
  14.     struct Point start;
  15.     struct Point end;
  16. };
  17.  
  18. typedef struct Fraction FRACTION;
  19.  
  20. FRACTION addFraction(FRACTION a, FRACTION b)
  21. {
  22.     FRACTION c;
  23.     c.Denominator = a.Denominator * b.Denominator;
  24.     c.Nominator = (c.Denominator/a.Denominator*a.Nominator) + (c.Denominator/b.Denominator*b.Nominator);
  25.     return c;
  26. }
  27.  
  28. FRACTION divFraction(FRACTION a, int n)
  29. {
  30.     a.Denominator = a.Denominator * n;
  31.  
  32.     return a;
  33. }
  34.  
  35. int main()
  36. {
  37.     struct Line AB;
  38.  
  39.     scanf("%d/%d%d/%d%d/%d%d/%d", &AB.start.x.Nominator, &AB.start.x.Denominator, &AB.start.y.Nominator, &AB.start.y.Denominator,
  40.           &AB.end.x.Nominator, &AB.end.x.Denominator, &AB.end.y.Nominator, &AB.end.y.Denominator);
  41.  
  42.     //scanf("%d/%d%d/%d", &a.Nominator, &a.Denominator, &b.Nominator, &b.Denominator);
  43.     //a = divFraction(a,2);
  44.  
  45.     struct Point mid;
  46.  
  47.     mid.x = addFraction(AB.start.x, AB.end.x);
  48.     mid.x = divFraction(mid.x,2);
  49.     mid.y = addFraction(AB.start.y, AB.end.y);
  50.     mid.y = divFraction(mid.y,2);
  51.  
  52.     printf("\n%d/%d  %d/%d\n", mid.x.Nominator, mid.x.Denominator, mid.y.Nominator, mid.y.Denominator);
  53.  
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement