alguien que me pueda ayudar a solucionar este problema con este codigo
#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
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
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
#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 ;)
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";
}
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
por nada y ahora que lo pienso ambos if tienen el mismo efecto xD