Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/11/2011, 18:24
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Un ejercicio que me está frustrando.

Primero que todo deberias usar llaves en el while....
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <iostream>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x, aux, i;
  7.     cout <<"Ingrese un número";
  8.     cin >>x;
  9.     i = x;
  10.     aux = 0;
  11.     while (i>0) {
  12.              i--;
  13.         if (x%i == 0)
  14.         {
  15.             aux = aux + i;
  16.         }
  17.          }
  18.         if (x == aux)
  19.             cout <<"El número es perfecto";
  20.     return 0;
  21. }


Ademas el modulo deberia ser por i y no por uno.

Fijate que en la wiki tienes otro algoritmo tambien...
http://es.wikipedia.org/wiki/N%C3%BAmero_perfecto