ayuda en c++

Iniciado por andres199, 1 Diciembre 2015, 00:34 AM

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

andres199

alguien que me pueda ayudar a solucionar este problema con este codigo


Código (cpp) [Seleccionar]


#include <iostream>
using namespace std;
int main()
{
int num,n,c=0,a,con=0;
for(a=1;a<=5;a++)
{

cout<<"ingrese un numero";
cin>>num;
for(n=1;n<=num;n++)
{
if(num%n==0)
{
c=c+1;
}

}
if(c>0&&c<=2)
{
con=con+1;
}
}


cout<<con<<" numeros primos";
}





el programa tiene que mostrarme cuantos numeros primo introduce por teclado

[MOD] Al publicar código usar las etiquetas GeSHi

daryo

#1
no lo he probado pero creo que si se cambia esto
if(c>0&&c<=2)
por
if(c==1 || c==2)(dos divisores(1 y el mismo) y en el caso del 1 pues solamente el mismo)
funcionaria
buenas

andres199

la parte que no me funciona es el contador al ejecutar el código introduzco los cinco numero y solo me evalúa el primero :(  

si el primero que introduzco es primo me muestra 1 números primos.
de lo contrario me muestra 0 números primos.

el mismo programa debo real izarlo  pero introducir números y al obtener 5 números primos mostrar la suma de estos

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int main(){
int num,p=1,n,s=0,c=0;
while (p<=5){
cout<<"ingrese un numero";
cin>>num;
for(n=1;n<=num;n++)
{
if(num%n==0)
{
c=c+1;
}
}

if (c>0&&c<=2)
{
 s=s+num;
 p++;
}



   }
    cout<<s;
}


lo peor es que tambien tengo el mismos problema con el contador q es "p" y el acumulador q es "s"..

agradezco su ayuda ;)

daryo

ah ya vi el error ademas del if que dije prueba volviendo c a cero despues del ciclo for , asi:
#include <iostream>
using namespace std;
int main()
{
int num,n,c=0,a,con=0;
for(a=1;a<=5;a++)
{

cout<<"ingrese un numero>";
cin>>num;
cout << endl;
for(n=1;n<=num;n++){
if(num%n==0)
{
c=c+1;
}

}
if(c==1 || c==2)
{
con=con+1;
}
c=0;
}
 
cout<<con<<" numeros primos";
}
buenas

andres199

amigo muchas gracias ........  si ese es el error pues c no retornava a 0 de nuevo para poder evaluar los otros numeros, por eso olo me evaluava si era primo el primero   muchas gracias

daryo

por nada y ahora que lo pienso ambos if tienen el mismo efecto xD
buenas