Hola manel, claro el resultado te lo da de menor a mayor por que son los primeros elementos que se guardan en divisor , y al parecer tu los quieres de mayor a menor, he hecho el codigo, y me dio el resultado de mayor a menor, aqui dejo el codigo, dure una hora y media haciendolo tambien soy noob xd pero me parecio interesante para agarrar exp
Cita: #include <stdio.h>
#include <conio.h>
main()
{
int num,temp,i,j;
int divisor[10],cd,gi[10];
cd=0;
printf("Ingrese numero");
scanf("%d",&num);
for (i=1;i<=num;i++)
{
if (num % i == 0)
{
divisor[i]=0;
divisor[i]=i;
printf("%d ",divisor[i]);
cd=cd+1;
gi[cd]=divisor[i];
}
}
printf("\n");
for (i=1;i<=cd;i++)
for (j=i+1;j<=cd;j++)
{
if(gi[i]<=gi[j])
{
temp=gi[j];
gi[j]=gi[i];
gi[i]=temp;
}
}
for (i=1;i<=cd;i++)
{
printf("%d ",gi[i]);
}
getch();
}
El nucleo del problema en si es guardar los divisores en el espacio del vector adecuado, cualquier duda sobre el codigo por aqui estamos, luego de guardar los divisores en el divisor proceder a hacer el ordenamiento por el metodo burbuja que es el que conozco.