Suma y resta de racionales y su reducción

Pablo Ibáñez Trallero

#include <iostream>
#include <cstring>
using namespace std;

struct racional {
int num;
int den;
} ;

void sumaRac(struct racional rac1,struct racional rac2);
void restaRac(struct racional rac1,struct racional rac2);

int main()
{
int i;
struct racional rac1, rac2;

cout << “Dame el primer numero racional (numerador/denominador): “;
cin >> rac1.num >> rac1.den;

cout << “Dame el segundo numero racional (numerador/denominador): “;
cin >> rac2.num >> rac2.den;

cout << “si quiere sumarlos introduzca 0, si quiere restarlos, 1: “;
cin >> i;

if (i==0) sumaRac(rac1,rac2);

if (i==1) restaRac(rac1,rac2);
}

void sumaRac(struct racional rac1,struct racional rac2){

struct racional rac;

rac.num = rac1.num*rac2.den+rac2.num*rac1.den;
rac.den =rac1.den*rac2.den;

int a=0;
int b=0;

for (int i=2; i<rac.num+1; i++){

for (int j=1; j>0 ; j++){

a=rac.num%i;
b=rac.den%i;

if (a==0 && b==0) {
rac.num=rac.num/i;
rac.den=rac.den/i;
}

if (a!=0 || b!=0) break;

}
}

cout << “la suma es: ” << rac.num << “/” << rac.den;
}

void restaRac(struct racional rac1,struct racional rac2){

struct racional rac;

rac.num = rac1.num*rac2.den-rac2.num*rac1.den;
rac.den =rac1.den*rac2.den;

int a=0;
int b=0;

for (int i=2; i<rac.num+1; i++){

for (int j=1; j>0 ; j++){

a=rac.num%i;
b=rac.den%i;

if (a==0 && b==0) {
rac.num=rac.num/i;
rac.den=rac.den/i;
}

if (a!=0 || b!=0) break;

}
}

cout << “la suma es: ” << rac.num << “/” << rac.den;
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s