Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Gagy en 3 Diciembre 2012, 18:26 pm



Título: Ayuda con un programa en C++
Publicado por: Gagy en 3 Diciembre 2012, 18:26 pm
Me han pedido que haga un programa en C++ tal que así:
"Leemos diez números por teclado. El programa tiene que mostrar cuáles son primos y cuántos hay."
Necesito hacerlo con el código más simple posible, ya que estoy aprendiendo, con
#include<iostream>   y  #include<cmath>
Gracias de antemano.


Título: Re: Ayuda con un programa en C++
Publicado por: Xenomorfo77 en 3 Diciembre 2012, 19:21 pm
Espero que te sirva si tienes dudas pregunta. Un saludo.

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. bool primo(int n)
  7. {
  8.    int res;
  9.    for(int w=2; w < n-1; w++)
  10.    {
  11.        res = n % w;
  12.        if(res==0) return false;
  13.  
  14.    }
  15.  
  16.    return true;
  17. }
  18.  
  19. int main()
  20. {
  21.    int numero[100];
  22.    bool primos = false;
  23.    int cont = 0;
  24.  
  25.    cout << "Introducza los numeros" << endl;
  26.  
  27.    for(int j=0;j<10;j++)
  28.    {
  29.        cout << "Numero " << j+1 <<": ";
  30.        cin >> numero[j];
  31.  
  32.    }
  33.  
  34.    for(int h=0;h<10;h++)
  35.    {
  36.        primos = primo(numero[h]);
  37.        if(primos==true)
  38.        {
  39.            cout << numero[h]<< " ";
  40.            cont++;
  41.        }
  42.    }
  43.  
  44.    cout << "Hay " << cont << " numeros primos"<<endl;
  45.    getchar();
  46.    return 0;
  47.  
  48. }


Título: Re: Ayuda con un programa en C++
Publicado por: Gagy en 3 Diciembre 2012, 19:29 pm
Muchas gracias! Pero hay un problema, cuando ya he introducido todos los números, se me cierra el programa de repente, sin poder leer el resultado. ¿Podrías hacer algo? Por lo demás genial, muchas gracias por ayudarme.


Título: Re: Ayuda con un programa en C++
Publicado por: leosansan en 3 Diciembre 2012, 19:46 pm
Me han pedido que haga un programa en C++ tal que así:
"Leemos diez números por teclado. El programa tiene que mostrar cuáles son primos y cuántos hay."
Necesito hacerlo con el código más simple posible, ya que estoy aprendiendo, con
#include<iostream>   y  #include<cmath>
La librería math no se usa en este caso y más simple que el de  Xenomorfo77 sería sin usar array ni función:
Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. using namespace std;
  4. main() {
  5.    int i,cont=0,j,num,k;
  6.  
  7.  
  8.    for (i=0;i<10;i++){
  9.        cout <<"Ingresa el numero "<<i+1<<": ";
  10.        cin >>num;
  11.        k=0;
  12.        for (j=1; j<=num; j++)
  13.            if (num%j == 0)
  14.                k++;
  15.        if (k == 2 || num == 1){
  16.            cont++;
  17.            cout <<"El numero "<<num<<" esprimo"<<endl;
  18.        }
  19.        else cout <<"El numero "<<num<<" NO esprimo"<<endl;
  20.    }
  21.    cout <<"El numero de primos es :"<<cont<<endl;
  22.    return 0;
  23. }
Saluditos!.


Título: Re: Ayuda con un programa en C++
Publicado por: Xenomorfo77 en 3 Diciembre 2012, 20:03 pm
Muchas gracias! Pero hay un problema, cuando ya he introducido todos los números, se me cierra el programa de repente, sin poder leer el resultado. ¿Podrías hacer algo? Por lo demás genial, muchas gracias por ayudarme.

Ya he modificado el code para que se pueda ver el resultado un saludo. Si acaso sigue sin irte añade otro getchar() mas.


Título: Re: Ayuda con un programa en C++
Publicado por: Xenomorfo77 en 3 Diciembre 2012, 20:08 pm
La librería math no se usa en este caso y más simple que el de  Xenomorfo77 sería sin usar array ni función:
Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. using namespace std;
  4. main() {
  5.    int i,cont=0,j,num,k;
  6.  
  7.  
  8.    for (i=0;i<10;i++){
  9.        cout <<"Ingresa el numero "<<i+1<<": ";
  10.        cin >>num;
  11.        k=0;
  12.        for (j=1; j<=num; j++)
  13.            if (num%j == 0)
  14.                k++;
  15.        if (k == 2 || num == 1){
  16.            cont++;
  17.            cout <<"El numero "<<num<<" esprimo"<<endl;
  18.        }
  19.        else cout <<"El numero "<<num<<" NO esprimo"<<endl;
  20.    }
  21.    cout <<"El numero de primos es :"<<cont<<endl;
  22.    return 0;
  23. }
Saluditos!.



Buen code, a veces hago las cosas mas complicadas de lo que son jajaja. Un saludo!


Título: Re: Ayuda con un programa en C++
Publicado por: Gagy en 3 Diciembre 2012, 22:18 pm
Muchísimas gracias!!  ;-) ;-)
Me habéis salvado, gracias de verdad a los dos.  :-*