Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - deberesa123

#1
Programación C/C++ / numero perfecto
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 (cpp) [Seleccionar]


#include <iostream>

using namespace std;

int LeerEnteroPositivo_()
{
    int a=0;

    while(a<=0)          
       cin>>a;

    return a;
}

int EsPerfecto(int a)
{
    int suma=0;

    for (int i=1;i<a;i++)
        if(a%i==0)
                suma+=i;

  return suma;
}

bool Perf (int a)
{

     return (EsPerfecto(a)==a);
}

bool esDivisor (int b, int c)
{
int b = 0;
int c = 0;
return ((b/c)%=0)
}

int main()
{
 int numeroA;
 int a;
 int b;

 cout<<"Dame un numero entero positivo:"<<endl;
 numeroA = LeerEnteroPositivo_ ();


 cout << " Es perfecto el primer numero ? ( 0= Falso, 1=Verdadero)"<< Perf(numeroA)  << endl;
 cin>> a;
 cin>> b;
 cout << "Es divisor?" << esDivisor (int a, int b) << endl;

}




[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