Simple: imprimirlo antes.
Como de antemano es posible saber si ya imprimiste un número (actualizando una variable "bool"), no imprimas un espacio antes del número si aún no imprimiste un número.
mmm muy buena pregunta pero yo lo intentaria con el operador ? ej: condición?resp verdadera:resp falsa y ademas la condición del for no es <= porque como lo estas tomando no contas el valor i=n porque n es divisor de si mismo xej 6 tiene div a 1,2,3 y 6Código: C++
bool perfecto(int n) {int suma, i; suma = 0; for (i = 1; i <= n; i++) {if (n % i == 0) {suma += i; cout << i <<(i!=n)? " ":endl;// impresión de divisores } } if (suma == n) return true; else return false; }
espero q te alla servido