Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Soltan en 30 Julio 2010, 07:46 am



Título: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: Soltan en 30 Julio 2010, 07:46 am
saludos, a toda la comunidad! soy nuevo en el foro y realmente me parece muy interesante!

bien;
es solo un programa que solicite un numero n
y muestre en pantalla los numeros primos entre 1 y n.
compila sin errores, se ejecuta y luego simplemente se sale sin mostrarme los resultados no c que hacer, aca esta el codigo:



#include <stdio.h>
main()
{
int i, n, cont, j;
printf("ingrese n",n);
scanf("%d", &n);
for(i=1; j<=n; i= i+1)
{
         cont=0;
         for(j=1; j<=i; j=j+1)
         {
                  if(i%j==0)
                  {
                            cont++;
                  }
           }
           {
                            if(cont <= 2)                           
                                        printf(" %d \n ",i);
                                        scanf("%d",i );
                             }
                             }
                             }
                             
                           
                   


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: leogtz en 30 Julio 2010, 08:29 am
Las llaves están mal acomodadas.

Aquí te faltó el carácter & antes de i.
Código:
scanf("%d",i );

Aquí:
Código:
for(i=1; j<=n; i= i+1)

j no tiene valor, tiene un valor basura, creo que debiste poner "i".

La lógica está mal, debería ser así:

Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4.    signed int i, n, cont, j;
  5.    printf("Ingrese n : ",n);
  6.    scanf("%d", &n);
  7.    for(i = 2; i <= n; i++)
  8.    {
  9.         cont = 0;
  10.         for(j = 1; j <= i; j++)
  11.         {
  12.            if(i % j == 0)
  13.            {
  14.                cont++;
  15.            }
  16.         }
  17.            if(cont <= 2)
  18.            printf("%d\n", i);
  19.    }
  20.    return 0;
  21. }
  22.  


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: Soltan en 30 Julio 2010, 08:36 am
gracias por las correciones pero a pesar de hacerlo tal cual me has indicado el programa presenta el mismo problema
compila
ejecuta
pero al introducir el valor y presionar enter desaparece del modo de ejecucion


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: leogtz en 30 Julio 2010, 08:37 am
Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4.    signed int i, n, cont, j;
  5.    printf("Ingrese n : ",n);
  6.    scanf("%d", &n);
  7.    for(i = 2; i <= n; i++)
  8.    {
  9.         cont = 0;
  10.         for(j = 1; j <= i; j++)
  11.         {
  12.            if(i % j == 0)
  13.            {
  14.                cont++;
  15.            }
  16.         }
  17.            if(cont <= 2)
  18.            printf("%d\n", i);
  19.    }
  20.    while(getchar() != '\n');
  21.    getchar();
  22.    return 0;
  23. }
  24.  


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: Soltan en 30 Julio 2010, 08:45 am
mchisimas gracias eso solvento el problema!! estoy investigando acerca del getchar realmente era la solucion del problema gracias!! aunque seria bueno si me aclaras el por que ? de todos modos gracias! XD


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: leogtz en 30 Julio 2010, 08:52 am
get - obtener
char - tipo de dato

Y no, no era la solución al problema, todo el código estaba mal.


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: Soltan en 30 Julio 2010, 08:57 am
pues a mi codigo solo le he colocado



 
Citar
while(getchar() != '\n');
    getchar();
    return 0;
y ha sido la solucion al problema en todo caso muchas gracias


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: leogtz en 30 Julio 2010, 09:00 am
De nada.  ;D


Título: Re: problema con codigo (seguro es algo muy basico pero busco y nada)
Publicado por: misterharry en 3 Agosto 2010, 03:32 am
Citar
while(getchar() != '\n');
    getchar();

no veo xq un while para el getchar(), si getchar() espera el salto de linea para continuar o no??