Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- //#include <conio.h>
- #include <stdlib.h>
- struct racional{
- int num,den;
- };
- typedef struct racional Racional;
- Racional *crear(int,int);
- Racional *suma(Racional *,Racional *);
- Racional *resta(Racional *,Racional *);
- Racional *divide(Racional *,Racional *);
- Racional *multiplicacion(Racional *,Racional *);
- int igualdad(Racional *,Racional *);
- int mcd(Racional *,Racional *);
- void imprime(void *);
- main()
- {
- Racional *r1=crear(1,2);
- Racional *r2=crear(5,2);
- Racional *res=suma(r1,r2);
- Racional *sum=resta(r1,r2);
- //Racional *mcdd=mcd(r1,r2);
- imprime(r1);
- printf("\t\n");
- imprime(r2);
- printf("\t\n");
- imprime(res);
- printf("\n");
- imprime(sum);
- printf("\n");
- //imprime(mcdd);
- //printf("\n");
- if(igualdad(r1,r2))
- printf("\nSon iguales\n");
- //getch();
- return 0;
- }
- //Funcion que crea el numero racional
- Racional *crear(int num,int den){
- Racional *p;
- p=(Racional*)malloc(sizeof(Racional));
- p->num=num;
- p->den=den;
- return p;
- }
- //Funcion que suma los racionales
- Racional *suma(Racional *q1,Racional *q2)
- {
- return crear((q1->num*q2->den)+(q2->num*q1->den),q1->den*q2->den);
- }
- //Funcion que resta los racionales
- Racional *resta(Racional *q1,Racional *q2)
- {
- return crear((q1->num*q2->den)-(q2->num*q1->den),q1->den*q2->den);
- }
- //Funcion que multiplica los racionales
- Racional *multiplicacion(Racional *q1,Racional *q2)
- {
- return crear(q1->num*q2->num,q1->den*q2->den);
- }
- //Funcion que divide los racionales
- Racional *divide(Racional *q1,Racional *q2)
- {
- return crear(q1->num*q2->den,q1->den*q2->num);
- }
- //Funcion que compara si son iguales
- int igualdad(Racional *q1,Racional *q2)
- {
- return(q1->num*q2->den==q1->den*q2->num);
- }
- //Funcion que obtiene el maximo comun divisor
- int mcd(Racional *q1,Racional *q2)
- {
- return(q1->num*q2->den%q1->den*q2->num);
- }
- //Funcion que imprime un racional
- void imprime(void *enter)
- {
- Racional *q=(Racional *)enter;
- printf("%d/%d",q->num,q->den);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement