Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: andres199 en 1 Diciembre 2015, 00:34 AM

Título: ayuda en c++
Publicado por: andres199 en 1 Diciembre 2015, 00:34 AM
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
Título: Re: ayuda en c++
Publicado por: daryo en 1 Diciembre 2015, 01:34 AM
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
Título: Re: ayuda en c++
Publicado por: andres199 en 1 Diciembre 2015, 01:48 AM
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 ;)
Título: Re: ayuda en c++
Publicado por: daryo en 1 Diciembre 2015, 02:03 AM
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";
}
Título: Re: ayuda en c++
Publicado por: andres199 en 1 Diciembre 2015, 02:11 AM
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
Título: Re: ayuda en c++
Publicado por: daryo en 1 Diciembre 2015, 02:14 AM
por nada y ahora que lo pienso ambos if tienen el mismo efecto xD