Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: piratascp en 29 Septiembre 2010, 16:20 pm



Título: Solucionar problema
Publicado por: piratascp en 29 Septiembre 2010, 16:20 pm
Hola,
Tenia un pequeño problema y es que el siguiente código no me funciona:
Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a, i;
  5. printf("Introdueix un número al qual s'aplicarà la conjetura de Collatz:\n");
  6. scanf("%d", &a);
  7. while (a=!0)
  8. {
  9.        for(i=0; a=!1; i++)
  10.        {
  11.            if(a/2==0)
  12.                a=a/2;
  13.            else
  14.            a=a*3 + 1;
  15.        }
  16.    printf("Es necesiten %d passos.\n", i);
  17.    printf("Introdueix un número al qual s'aplicarà la conjetura de Collatz:\n");
  18.    scanf("%d", &a);
  19. }
  20. }
Si alguien me pudiera ayudar estaria muy agradecido.


Título: Re: Solucionar problema
Publicado por: xassiz~ en 29 Septiembre 2010, 16:29 pm
El operador "=!" no existe, existe "!=".

Y para deducir si un número es par o no, debes utilizar "%" y no "/".


Prueba este:
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    int a, i;
  6.    printf("Introdueix un número al qual s'aplicarà la conjetura de Collatz:\n");
  7.    scanf("%d", &a);
  8.    while (a!=0)
  9.    {
  10.        for(i=0; a!=1; i++)
  11.        {
  12.            if((a%2)==0)
  13.                a=a/2;
  14.            else
  15.                a=a*3 + 1;
  16.        }
  17.        printf("Es necesiten %d passos.\n", i);
  18.        printf("Introdueix un número al qual s'aplicarà la conjetura de Collatz:\n");
  19.        scanf("%d", &a);
  20.    }
  21. }

Saludos.


Título: Re: Solucionar problema
Publicado por: piratascp en 29 Septiembre 2010, 16:40 pm
Muchas gracias, ahora ya me funciona correctament.