elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:56  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema ejercicio C++ con clases (cerradlo por favor)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema ejercicio C++ con clases (cerradlo por favor)  (Leído 500 veces)
final_frontier
Wiki

Desconectado Desconectado

Mensajes: 574


WOLOLOOO! Deal with it x)


Ver Perfil
Problema ejercicio C++ con clases (cerradlo por favor)
« en: 5 Noviembre 2008, 18:51 »

Muy bien, voy a ser directo. Me dicen que de 20 números comprendidos entre el 0 y el 1000 haga mostrar por pantalla los primos más grandes.

Mi planteamiento:

- Como no dice de qué forma captar los 20 números, lo he hecho a los bestia con int (lo sé, soy un animal xD) por lo que tengo 20 variables.

- Para hallar los números primos he puesto 2 condiciones:

 int numero (este es el que por ejemplo quiero que sea primo)
 int i (con este voy a comprobar si el número es primo o no)

Un número primo es todo aquel en el que en una división el resto es cero sólo si se divide por sí mismo, entonces:

 bool primo;
 numero != i;
 for (i=1000, i>1, i - -);
   if (numero%i!=0)
      primo=true;
   else
      primo=false;

He dejado el programa tal que así:

Código:
#include <iostream>
#include <math.h>
#include <cstdlib>
using namespace std;

class numerito {
     
      int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,u,v,w;
public:
       void infor();
       void calcu();
};
void numerito::infor(){
     
     cout<<"Introduce el valor para el numero a\n";
     cin>>a;
     cout<<"Introduce el valor para el numero b\n";
     cin>>b;
     cout<<"Introduce el valor para el numero c\n";
     cin>>c;
     cout<<"Introduce el valor para el numero d\n";
     cin>>d;
     cout<<"Introduce el valor para el numero e\n";
     cin>>e;
     cout<<"Introduce el valor para el numero f\n";
     cin>>f;
     cout<<"Introduce el valor para el numero g\n";
     cin>>g;
     cout<<"Introduce el valor para el numero h\n";
     cin>>h;
     cout<<"Introduce el valor para el numero i\n";
     cin>>i;
     cout<<"Introduce el valor para el numero j\n";
     cin>>j;
     cout<<"Introduce el valor para el numero k\n";
     cin>>k;
     cout<<"Introduce el valor para el numero l\n";
     cin>>l;
     cout<<"Introduce el valor para el numero m\n";
     cin>>m;
     cout<<"Introduce el valor para el numero n\n";
     cin>>n;
     cout<<"Introduce el valor para el numero o\n";
     cin>>o;
     cout<<"Introduce el valor para el numero p\n";
     cin>>p;
     cout<<"Introduce el valor para el numero q\n";
     cin>>q;
     cout<<"Introduce el valor para el numero u\n";
     cin>>u;
     cout<<"Introduce el valor para el numero v\n";
     cin>>v;
     cout<<"Introduce el valor para el numero w\n";
     cin>>w;
}
void numerito::calcu(){
     
     int s;
     s!=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,u,v,w;
     for (s=1000;s>0;s--){
         if (a%s!=0)
            cout<<a<<" es un numero par\n";
         else
            cout<<a<<" no es un numero par\n";
         if (b%s!=0)
            cout<<b<<" es un numero par\n";
         else
            cout<<b<<" no es un numero par\n";
         if (c%s!=0)
            cout<<c<<" es un numero par\n";
         else
            cout<<c<<" no es un numero par\n";
         if (d%s!=0)
            cout<<d<<" es un numero par\n";
         else
            cout<<d<<" no es un numero par\n";
         if (e%s!=0)
            cout<<e<<" es un numero par\n";
         else
            cout<<e<<" no es un numero par\n";
         if (f%s!=0)
            cout<<f<<" es un numero par\n";
         else
            cout<<f<<" no es un numero par\n";
         if (g%s!=0)
            cout<<g<<" es un numero par\n";
         else
            cout<<g<<" no es un numero par\n";
         if (h%s!=0)
            cout<<h<<" es un numero par\n";
         else
            cout<<h<<" no es un numero par\n";
         if (i%s!=0)
            cout<<i<<" es un numero par\n";
         else
            cout<<i<<" no es un numero par\n";
         if (j%s!=0)
            cout<<j<<" es un numero par\n";
         else
            cout<<j<<" no es un numero par\n";
         if (k%s!=0)
            cout<<k<<" es un numero par\n";
         else
            cout<<k<<" no es un numero par\n";
         if (l%s!=0)
            cout<<l<<" es un numero par\n";
         else
            cout<<l<<" no es un numero par\n";
         if (m%s!=0)
            cout<<m<<" es un numero par\n";
         else
            cout<<m<<" no es un numero par\n";
         if (n%s!=0)
            cout<<n<<" es un numero par\n";
         else
            cout<<n<<" no es un numero par\n";
         if (o%s!=0)
            cout<<o<<" es un numero par\n";
         else
            cout<<o<<" no es un numero par\n";
         if (p%s!=0)
            cout<<p<<" es un numero par\n";
         else
            cout<<p<<" no es un numero par\n";
         if (q%s!=0)
            cout<<q<<" es un numero par\n";
         else
            cout<<q<<" no es un numero par\n";
         if (u%s!=0)
            cout<<u<<" es un numero par\n";
         else
            cout<<u<<" no es un numero par\n";
         if (v%s!=0)
            cout<<v<<" es un numero par\n";
         else
            cout<<v<<" no es un numero par\n";
         if (w%s!=0)
            cout<<w<<" es un numero par\n";
         else
            cout<<w<<" no es un numero par\n";
            }while (s=20);
}
int main(){

numerito dato;
dato.infor();
dato.calcu();
system("Pause");
return 0;
}

El compilador no me tira error (Dev C++ 5 beta) pero el programa cuando lo ejecuto no tiene el efecto deseado: Que me muestre por pantalla los 20 números primos más grandes entre 0 y 1000

Un saludo


« Última modificación: 6 Noviembre 2008, 19:07 por final_frontier » En línea

Sie ist der hellste Stern von allen und wird nie vom Himmel fallen...
AxXioma


Desconectado Desconectado

Mensajes: 795


Algunos pájaros no pueden ser enjaulados...


Ver Perfil
Re: Problema ejercicio C++ con clases (números primos)
« Respuesta #1 en: 5 Noviembre 2008, 21:57 »

Y tanto que a lo bestia codeaste el programa...

Te recomiendo que utilices un array unidimensional entero de tamaño 20, en vez de escribir 20 variables.
También te recomiendo que le hagas un loop cuando solicites números al usuario en vez de gastar 20 líneas en dicha repetición.
Podrías incluso mejorar los condicionales que comprueban si un número es primo o no ya que no están nada claros los tuyos.

Si necesitas ayuda en algo de lo que te he dicho o no sabes muy bien como tirar del hilo me lo dices y encantado te resuelvo la duda.

Saludos.


En línea





.::Cuanto mas conocimiento adquieres, más te das cuenta del que hay a tu alrededor::.
final_frontier
Wiki

Desconectado Desconectado

Mensajes: 574


WOLOLOOO! Deal with it x)


Ver Perfil
Re: Problema ejercicio C++ con clases (números primos)
« Respuesta #2 en: 6 Noviembre 2008, 14:59 »

Y tan que necesito una explicación, en C++ estoy frito, encima es con orientación a objetos (que no lo puedo meter todo en el int main porque me catean el trabajo), hoy el profesor me ha explicado como conseguir el número primo

Código:
primo=1;
div=2; //ambas variables ya declaradas como int (unsigned int primo, dev, i;)
while (div < i && primo) //ya que todo número es primo sólo si se divide por sí mismo y por 1 da cero el resto de la división
{ if (i%div==0)
     primo=0; //si fuera un booleano sería false
   div++;
}

Tengo hasta las 23:55 para entregarlo ya que hice el programa bien antes pero me dijeron que hiciera una versión más "universitaria" (estoy acabado...)

No esperéis hasta las 11 y media o algo así porque no estaré conectado, tengo que enviarlo y cuanto antes mejor y es un asunto muy serio, realmente serio y la ayuda es totalmente imprescindible
« Última modificación: 6 Noviembre 2008, 16:58 por final_frontier » En línea

Sie ist der hellste Stern von allen und wird nie vom Himmel fallen...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con ejercicio en C ayuda!!!
Programación C/C++
hugg 3 645 Último mensaje 15 Enero 2011, 03:32
por Leo Gutiérrez.
problema con un ejercicio
Java
shing18 3 1,192 Último mensaje 3 Junio 2011, 22:14
por sapito169
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines