Numeros Primos C++ [resuelto]

Iniciado por abner30, 11 Junio 2011, 21:14 PM

0 Miembros y 1 Visitante están viendo este tema.

abner30

Tengo que hacer un programa en C++ (usando Visual C++) que me diga si un número es primo o nó, por medio de una clase. Todo bien si en número no es primo pero cuando lo es ne devuelve simbolos raros en vez de 's'. Porfavor ayuda, no se que estoy haciendo mal  :-(

Código (cpp) [Seleccionar]

#include <iostream>
#include <math.h>

class CaracteristicaNumeros
{
int n; //declarando n se resolvio el problema, los 2 for funcionan como quiero

public:

char calc_primo(int n)
{
int x;
if (n > 1)
{
for (x = 2; x <= n-1; x++)
{
if (n % x == 0 && n == x)
return 'n';
if (n % x == 0 && n != x)
return 's';
}

/*
si cambio el for por este me dice que los multiplos de 9 y los que terminan en 5 son primos;
pero 9 % 3 == 0 y 15 % 5 == 0 ?

al final use este for:

for (x = 2; x <= n-1; x++)
{
if (n % x == 0)
{
return 'n';
break;
}
}
return 's';
*/

}
else
return 'n';
}

};

int _main()
{
int a;
CaracteristicaNumeros objCN;

using namespace std;

do
{
cin >> a;
cout << objCN.calc_primo(a) << "\n";
}while(1==1);
return 0;
}

leogtz

Cuando se resuelven las cosas, lo correcto es poner cómo lo resolviste, no pedir que te eliminen el mensaje, o ¿cómo apoyas a la comunidad?
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

abner30

ups lo siento... la verdad, pero si les hace sentir mejor ya puse cual era el problema.
No se mucho de C++ pero parece un error muy tonto y se solucionó facil  :-[