elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / numero perfecto en: 16 Abril 2015, 03:50 am
Un número se considera perfecto si la suma de sus divisores es igual al número. Por ejemplo, los divisores de 6 son 1, 2, 3. Dado que, 1+2+3 = 6, 6 es un número perfecto.

Escribir un programa que pida al usuario un número positivo, y decida si es perfecto o no. El programa debe crear 2 funciones:

1. esPerfecto(int) que devuelve verdadero o falso si el número es perfecto

2. esDivisor(int a , int b) que devuelve verdero o falso segun si a es divisor de b, es decir, esDivisor(2, 6) devuelve verdadero, pero esDivisor(2, 5) devuelve falso.

Código
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int LeerEnteroPositivo_()
  7. {
  8.     int a=0;
  9.  
  10.     while(a<=0)          
  11.        cin>>a;
  12.  
  13.     return a;
  14. }
  15.  
  16. int EsPerfecto(int a)
  17. {
  18.     int suma=0;
  19.  
  20.     for (int i=1;i<a;i++)
  21.         if(a%i==0)
  22.                 suma+=i;
  23.  
  24.   return suma;
  25. }
  26.  
  27. bool Perf (int a)
  28. {
  29.  
  30.      return (EsPerfecto(a)==a);
  31. }
  32.  
  33. bool esDivisor (int b, int c)
  34. {
  35. int b = 0;
  36. int c = 0;
  37. return ((b/c)%=0)
  38. }
  39.  
  40. int main()
  41. {
  42.  int numeroA;
  43.  int a;
  44.  int b;
  45.  
  46.  cout<<"Dame un numero entero positivo:"<<endl;
  47.  numeroA = LeerEnteroPositivo_ ();
  48.  
  49.  
  50.  cout << " Es perfecto el primer numero ? ( 0= Falso, 1=Verdadero)"<< Perf(numeroA)  << endl;
  51.  cin>> a;
  52.  cin>> b;
  53.  cout << "Es divisor?" << esDivisor (int a, int b) << endl;
  54.  
  55. }
  56.  
  57.  


[MOD] Usar las etiquetas GesHi, para publicar código.

esto es lo que tengo
me pueden ayudar a ver el error en la funcion esDivisor
y como hacer para que al rato de imprimir aparezca verdadero y falso en vez de 0 y 1
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines