Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- struct Fraction {
- int Nominator;
- int Denominator;
- };
- struct Point {
- struct Fraction x;
- struct Fraction y;
- };
- struct Line {
- struct Point start;
- struct Point end;
- };
- typedef struct Fraction FRACTION;
- FRACTION addFraction(FRACTION a, FRACTION b)
- {
- FRACTION c;
- c.Denominator = a.Denominator * b.Denominator;
- c.Nominator = (c.Denominator/a.Denominator*a.Nominator) + (c.Denominator/b.Denominator*b.Nominator);
- return c;
- }
- FRACTION divFraction(FRACTION a, int n)
- {
- a.Denominator = a.Denominator * n;
- return a;
- }
- int main()
- {
- struct Line AB;
- 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,
- &AB.end.x.Nominator, &AB.end.x.Denominator, &AB.end.y.Nominator, &AB.end.y.Denominator);
- //scanf("%d/%d%d/%d", &a.Nominator, &a.Denominator, &b.Nominator, &b.Denominator);
- //a = divFraction(a,2);
- struct Point mid;
- mid.x = addFraction(AB.start.x, AB.end.x);
- mid.x = divFraction(mid.x,2);
- mid.y = addFraction(AB.start.y, AB.end.y);
- mid.y = divFraction(mid.y,2);
- printf("\n%d/%d %d/%d\n", mid.x.Nominator, mid.x.Denominator, mid.y.Nominator, mid.y.Denominator);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement