Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.7 kB
2
Indexable
Never
#include <stdio.h>
#include <math.h>

typedef struct{
    int p;
    int q;
}rational;

int main()
{
    rational num1;
    scanf("%d", &num1.p);
    scanf("%d", &num1.q);

    rational num2;
    scanf("%d", &num2.p);
    scanf("%d", &num2.q);

    printf("num1 is %d/%d\n", num1.p, num1.q);
    printf("num2 is %d/%d\n", num2.p, num2.q);

    add(num1.p,num1.q,num2.p,num2.q);
    mult(num1.p,num1.q,num2.p,num2.q);
    sub(num1.p,num1.q,num2.p,num2.q);
    dev(num1.p,num1.q,num2.p,num2.q);

}
int dem(int num1, int num2)
{
    int x;
    //no = nominator, dem = denominatior
    if(num1 > num2 && num1 % num2 == 0){
        x = num1;
    }else if(num2 > num1 && num2 % num1 == 0){
        x = num2;
    }else{
        x = num1 * num2;
    }
    return x;
}

int add(int num1p, int num1q,int num2p, int num2q)
{
    int d = dem(num1q,num2q);
    int sum_no = ((d/num1q)*num1p) + ((d/num2q)*num2p);
    printf("sum is %d/%d\n", sum_no, d);

}

int sub(int num1p,int num1q,int num2p, int num2q)
{
    int d = dem(num1q,num2q);
    int sub_no = ((d/num1q)*num1p) - ((d/num2q)*num2p);
    printf("subtraction is %d/%d\n", sub_no, d);

    if(sub_no == 0){
        printf("equal\n");
    }else{
        printf("not equal\n");
    }
}

int mult(int num1p, int num1q,int num2p,int num2q)
{
    int multi_no = (num1p*num2p);
    int multi_dem = (num1q*num2q);
    printf("multi is %d/%d\n", multi_no, multi_dem);
}

int dev(int num1p,int num1q,int num2p, int num2q)
{
    int dev_no = (num1p*num2q);
    int dev_dem = (num1q*num2p);

    printf("division is %d/%d\n", dev_no, dev_dem);
}