• Viernes 8 de Noviembre de 2024, 16:59

Autor Tema:  Ayuda... Para Un Principiant  (Leído 1275 veces)

Lestatx

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Ayuda... Para Un Principiant
« en: Sábado 26 de Mayo de 2007, 03:07 »
0
Bueno, primero que todo, HOLA!!-a quien corresponda-.
Tengo un problema con el siguiente programa :
------------------------------------------------------------------------------------------
Código: Text
  1.  
  2. //programa para calcular un numero primo según su posición
  3. #include<conio.h>
  4. #include<iostream.h>
  5.  
  6. CalcularPrimo(int k);
  7.  
  8. main(){int n;
  9.   cout<<"Ingrese la posicion del numero primo que desea hallar: ";cin>>n;
  10.    cout<<"El numero primo que ocupa la posicion "<<n<<" es: "<<CalcularPrimo(n);
  11.    getch();
  12.    }
  13. CalcularPrimo(int k){
  14. int primo, a=0,b=1;
  15. if(k==1)
  16. return 2;
  17. else{
  18.   while(k!=b){int i=3;
  19.     for(int j=2;j<i;j++)
  20.       { if(i%j==0) a++;}//cierra for
  21.    if(a==0){ primo=i; b++;}
  22.    i++;
  23.    }//cierra while
  24.  return primo; }//cierra else
  25.  }//cierra función
  26.  
  27.  
-----------------------------------------------------------------------------------------------
El problema radica en q no sirve. Pero si yo sigo los pasos mentalmente deberia servir correctamente, sin embargo, no es asi. Creo q la culpa es de los parentesis '{'... pero, para mi está correctamente escrito...
quisiera q me ayudaran diciendome xq no funciona correctamente -no deseo otro programa-.... de antemano agradezco la respuesta...

PD: Utilizo el compilador Borland c++ 5.0

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ayuda... Para Un Principiant
« Respuesta #1 en: Sábado 26 de Mayo de 2007, 15:37 »
0
el programa esta mal.

Comenzando con que

Código: Text
  1. CalcularPrimo(int k);
  2.  

No indica el tipo de dato que devuelve...

la lógica parece estar mal revisala y si además quieres mas ayuda pues ese programa esta hecho miles de veces a traves de la internet.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

omar_osiris

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Ayuda... Para Un Principiant
« Respuesta #2 en: Sábado 26 de Mayo de 2007, 18:53 »
0
Creo q estan deben ser las modificaciones a tu prog para que pueda funcionar correctamente, aunque yo terecomendaría la criba de erastótenes para poder obtener los números primos, es más rápido y eficiente.


Código: Text
  1.  
  2. #include<conio.h>
  3. #include<iostream.h>
  4.  
  5. int CalcularPrimo(int k);
  6.  
  7. main(){int n;
  8.   cout<<"Ingrese la posicion del numero primo que desea hallar: ";cin>>n;
  9.   cout<<"El numero primo que ocupa la posicion "<<n<<" es: "<<CalcularPrimo(n);
  10.   getch();
  11.   }
  12.  
  13.  
  14. int CalcularPrimo(int k){
  15. int primo, a=0,b=1;
  16. if(k==1)
  17. return 2;
  18. else{
  19.   int i=3;
  20.   while(k!=b){
  21.     a=0;
  22.     for(int j=2;j<i;j++)
  23.      { if(i%j==0) a++;}//cierra for
  24.   if(a==0){ primo=i; b++;}
  25.   i++;
  26.   }//cierra while
  27. return primo; }//cierra else
  28. }//cierra función
  29.  
  30.  

Lestatx

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ayuda... Para Un Principiant
« Respuesta #3 en: Sábado 26 de Mayo de 2007, 22:45 »
0
Plop!!! ... gracias... ya sé en q me equivoque...se me chispoteo!!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ayuda... Para Un Principiant
« Respuesta #4 en: Sábado 26 de Mayo de 2007, 23:00 »
0
Como no lo vas a saber si te hicieron todo, te lo dieron hecho... vaya esfuerzo.

Gracias omar_osiris por permitir que otro más no aprenda a pescar porque tu ya le das el pescado.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda... Para Un Principiant
« Respuesta #5 en: Sábado 26 de Mayo de 2007, 23:06 »
0
Cita de: "JuanK"
Como no lo vas a saber si te hicieron todo, te lo dieron hecho... vaya esfuerzo.

Gracias omar_osiris por permitir que otro más no aprenda a pescar porque tu ya le das el pescado.
En realidad es un 99% de su codigo original. Si me parece que hubiera sido mejor una indicacion de donde estaba el error.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.