#include <stdio.h>

void bunsa(int *, int *, int *, int * , int * , int *   );
void bunsyo(int *, int *, int *, int * , int * , int *   );
void yakubun(int *, int *);

int main()
{
    int x1, x2, y1, y2, a1, a2, b1, b2;

    printf("分数1の分子を入力してください：");
    scanf("%d", &x1);
    printf("分数1の分母を入力してください：");
    scanf("%d", &x2);
    printf("分数2の分子を入力してください：");
    scanf("%d", &y1);
    printf("分数2の分母を入力してください：");
    scanf("%d", &y2);

    bunsa(&x1, &x2, &y1, &y2, &a1, &a2);
    yakubun(&a1, &a2);

    bunsyo(&x1, &x2, &y1, &y2, &b1, &b2);
    yakubun(&b1, &b2);

    printf(" %d / %d － %d / %d = %d / %d \n", x1, x2, y1, y2, a1, a2);
    printf(" %d / %d ÷ %d / %d = %d / %d \n", x1, x2, y1, y2, b1, b2);
    return 0;
}

void bunsa( int *x1, int *x2, int *y1, int *y2, int *a1, int *a2)
{
    *a1 = *x1 * *y2 - *x2 * *y1;
    *a2 = *x2 * *y2;
}

void bunsyo(  int *x1, int *x2, int *y1, int *y2, int *b1, int *b2)
{
    *b1 = *x1 **y2;
    *b2 = *x2 **y1;
}

void yakubun(  int *n1, int *n2)
{
    int w1 = *n1;
    int w2 = *n2;
    int t;

    if (w1 < 0)w1 *= -1;
    if (w2 < 0)w2 *= -1;
    while (w1 * w2)
    {
        w1 %= w2;
        t = w1; w1 = w2; w2 = t;
    }
    *n1 /= w1;
    *n2 /= w1;
}
