Esta es la manera que te propongo para que lo hagas:
Código c++:
Ver original#include<iostream.h>
#include<conio.h>
int divisibles(int a,int b)
{
int retorno=0,da=0,db=0,inia=2,inib=2,bandera=1;
while(bandera)
{
for(int i=inia;i<=a;i++)
{
if(a%i==0)
{
da=i;
i=a+1;
}
}
for(i=inib;i<=b;i++)
{
if(b%i==0)
{
db=i;
i=b+1;
}
}
if(da==db)
{
retorno=da;
bandera=0;
}
else
{
if(da<db&&db<a)
inia=db;
else
{
if(db<da&&da<b)
inib=da;
else
bandera=0;
}
}
}
return retorno;
}
void main()
{
int num,den;
int valor=0,cont=1;
cout << "NUMERADOR: "; cin >> num;
cout << "DENOMINADOR: "; cin >> den;
valor=divisibles(num,den);
if(valor!=0)
{
do
{
if(valor!=0)
{
num=num/valor;
den=den/valor;
}
if(den==1)
cout << "\nSimplificación No. " << cont << " Divisor " << valor << ": " << num << endl;
else
cout << "\nSimplificación No. " << cont << " Divisor " << valor << ": " << num << "/" << den << endl;
cont++;
valor=divisibles(num,den);
}while(valor!=0);
}
else
cout << "\nFracción No Reducible: " << num << "/" << den << endl;
}
Solo tienes que acomodarlo para que funcione con tu compilador. Espero sea lo que buscas.