elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11
91  Programación / Programación C/C++ / Calculo de números primos en: 12 Noviembre 2011, 14:26 pm
Me han dado el siguiente código de programa en c, es un programa que pide un numero por teclado e indica si el número es o no primo, comprobando todos los posibles divisores:



Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4.  
  5. int valor;
  6.  
  7. int i;
  8.  
  9. printf("Introduzca un valor: ");
  10. scanf(" %d", &valor);
  11.  
  12. for ( i = 2; i < valor; i++ )
  13. if (0 == (valor % i))
  14.  
  15. printf(" %d no es primo\n", valor);
  16. return 0;
  17. }

He probado el código y es un poco malo, si el número es primo directamente se sale del programa, y si el número no lo es, te lo repite por cada divisor que tenga, y me han pedido que haga que solo se imprima un mensaje indicando si el número es primo o no al final del bucle. Para esto, nos dicen que utilicemos una variable de control, cuando encuentre un divisor se active dicha variable. Y al final del bucle se mostrará el mensaje adecuado segun el valor de la variable de control.

He pensado que se tendría que usar la variable de control flag, pero no sé como implementarla muy bien, ¿alguien podría aclararmelo?, yo lo he intentado poniendo esto:

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

Pero aun así, al probarlo me sigue dando error, ¿alguna solución?

Saludos
92  Programación / Programación C/C++ / Re: Programa estaciones (cambio de if-else por switch) en: 12 Noviembre 2011, 14:23 pm
Muchas gracias a ambos!

Saludos!
93  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 11 Noviembre 2011, 12:05 pm
Gracias por la sugerencia :D

Saludos!
94  Programación / Programación C/C++ / Programa estaciones (cambio de if-else por switch) en: 11 Noviembre 2011, 11:57 am
He realizado este programa que hace lo siguiente: Según el més que indiques, te dirá de que estación se trata, te pide que introduzcas otro numero de mes, hasta que pongas un 0, que el programa saldrá, el código es el siguiente:

Código
  1. // Ficheros include del sistema
  2. #include <stdio.h>
  3. // Ficheros include de la aplicacion
  4. // Constantes de la aplicacion
  5. #define ERROR     0
  6. #define INVIERNO  1
  7. #define PRIMAVERA 2
  8. #define VERANO    3
  9. #define OTONO     4
  10.  
  11. int main ()
  12. {
  13. int mes;
  14. int estacion;
  15.  
  16. do
  17. {
  18.  
  19. printf("Introduzca un mes: ");
  20. scanf(" %d", &mes);
  21. if (mes == 12 || mes == 1 || mes == 2)
  22. estacion = INVIERNO;
  23. else if (mes == 3 || mes == 4 || mes == 5)
  24. estacion = PRIMAVERA;
  25. else if (mes == 6 || mes == 7 || mes == 8)
  26. estacion = VERANO;
  27. else if (mes == 9 || mes == 10 || mes == 11)
  28. estacion = OTONO;
  29. else
  30. estacion = ERROR;
  31. if (mes >= 1 && mes <=12)
  32. printf("El mes %d pertenece a la estacion %d\n", mes, estacion);
  33. }
  34. while (mes > 0 );
  35.  
  36. return 0;
  37. }
  38.  

Pero ahora me piden sustituir el if-else anidado por una sentencia switch, y la verdad, no sé como implementarla, ¿alguna sugerencia?

Saludos
95  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 11 Noviembre 2011, 10:08 am
Hola

He puesto while(1) para que se esté ejecutando siempre.

Si se introduce "qq" el programa finaliza (return 0) sin ejecutar lo que hay detrás, aunque también se podría poner en el while la condición de salida y sería exactamente igual.

Saludos

Ok, muchísimas gracias ;)

Saludos
96  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 10 Noviembre 2011, 23:00 pm
Hola

Pues flag, como su propio nombre indica es una bandera, es decir, una variable que dependiendo de su valor el programa hace una cosa u otra.

En el programa, en cada iteración se pone flag a 0 (es lo primero justo después del do). Cuando se introduce un valor erroneo se muestra un mensaje de error y se pone el flag a 1 para que no se calcule su valor decimal y no se muestre el resultado. Si el valor es correcto, flag sigue valiendo 0 y se calcula su valor decimal y se muestra.

No se si te habrá quedado claro.

Saludos

Vale, más o menos entiendo lo que es la bandera, pero por ejemplo, por que en el último while pones: while (1); ¿porqué (1)?

97  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 10 Noviembre 2011, 22:34 pm
Gracias, aunque, ¿me podrías aclarar el uso de flag en el programa?, es que me lo han explicado pero no logro entenderlo bien la verdad

Saludos!
98  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 10 Noviembre 2011, 21:27 pm
Hola

Inténtalo por lo menos, si no te sale te ayudo

Saludos

He pensado poner una estructura do while, pero la verdad es que no sé si lo estoy haciendo bien, he hecho esto:

Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5.    char car1;
  6.    char car2;
  7.    char valor1;
  8.    char valor2;
  9.    int valor;
  10. do
  11.    {printf("Introduzca un valor hexadecimal:\n");
  12.    scanf("\n%c%c", &car1, &car2);
  13.  
  14.    if('0'<=car1 && car1<='9')
  15.        valor1=car1-'0';
  16.    else if ('A'<=car1 && car1<='F')
  17.        valor1=car1-'A'+10;
  18.    else if ('a'<=car1 && car1<='f')
  19.        valor1=car1-'a'+10;
  20.    else
  21.        {
  22.        printf("Valor erroneo");
  23.        while(getchar()!='\n');
  24.        getchar();
  25.        return 0;
  26.        }
  27.  
  28.    if('0'<=car2 && car2<='9')
  29.        valor2=car2-'0';
  30.    else if ('A'<=car2 && car2<='F')
  31.        valor2=car2-'A'+ 10;
  32.    else if ('a'<=car2 && car2<='f')
  33.        valor2=car2-'a'+10;
  34.    else
  35.        {
  36.        printf("Valor erroneo");
  37.        while(getchar()!='\n');
  38.        getchar();
  39.        return 0;
  40.        }
  41.  
  42.    valor= 16*valor1 + valor2;
  43.  
  44.    printf("EL valor decimal de 0x%c%c es %d\n",car1,car2,valor);
  45.  
  46.    while(getchar()!='\n');
  47.    getchar();
  48.    }
  49. while (car1== 'q' && car2=='q');
  50.    return 0;
  51. }
99  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 10 Noviembre 2011, 21:21 pm
Gracias por la aclaración.

Ahora me piden que convierta numeros hexadecimales a decimales hasta que introduzca la secuencia qq para salir del programa, ¿como se podría hacer?

Saludos
100  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 9 Noviembre 2011, 23:12 pm
Gracias por la ayuda, creo que eso es lo que me piden pero, ¿podrías explicarme que hace lo que has añadido?

Saludos!
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines