void calcular_factores(int numero) //Busca e imprime los factores primos
{
cout << "1" << endl;
for(int i=2; i<= numero/2; i++)
{
if((numero % i) == 0)
{
if(comprobar_primo(i) == 1)
cout << i << endl;
}
}
}
int comprobar_primo(int factor) //Comprueba si un factor es primo
{
int aux = 1;
for(int i=2; (i < factor/2) && (aux == 1) ; i++)
{
if((factor % i) == 0)
aux = 0;
}
return aux;
}
El programa funciona bien (por lo que he probado hasta ahora) excepto con los numeros que son multiplos de cuatro, pues cuatro me aparece como si fuera un factor primo (y no lo es

Un saludo