Ayuda programa fracciones C
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.
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.
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
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
