Ayuda programa fracciones C

Rob
19 de Diciembre del 2005
Tengo que hacer lo siguiente:

Implementa una funcion que simplifique una fraccion eliminando los factores comunes de numerador y denominador.

Pero la verdad es que no tengo ni idea de por donde empezar. Si pudieras ayudarme os estaria muy agradecido.

Saludos.

rocachondo
19 de Diciembre del 2005
A mí se me ocurre una función bastante sencilla con un bucle for. La función tendría el prototipo void Simplifica(&num,&den). A esta función se le pasarían como parámetros la dirección del numero y la dirección del denominador. Le paso la dirección para que se modifiquen, aunque si lo prefieres, también le puedes pasar simplemente el numerador y el denominador por valor y mostrar el resultado por pantalla.

La función inicializaría dos variables 'x' e 'y' que representan al numerador y denominador. Ahora no tienes que hacer un bucle for de la siguiente manera:

int x=*num;
int y=*den;
int i;
for(i=0;i<=*num&&i<=*den;i++)
{
if(x%i==0&&y%i==0)
{
x/=i;
y/=i;
}
}

*num=x;
*den=y;

Con esto creo que debería funcionar, pero pruébalo por si acaso

Rob
19 de Diciembre del 2005
Muchisimas gracias, ya he conseguido hacerlo funcionar. :)

danysoriano
19 de Diciembre del 2005
robbiegv, tu por aqui? que curioso...