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


 


Tema destacado: Cifrar documentos-carpetas con GnuPG en Linux y Windows


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Sobre ejecucion de hilos en java en: 12 Octubre 2017, 08:46
Muy buenas, estoy con un ejercicio de java y me piden la ejecucion de tres hilos los cuales se imprimen en pantalla en distintos tiempos.

Es decir :
Hilo 1: esperar 100ms
Hilo 2: esperar 600ms
Hilo 3: esperar 5000ms

He visto varios ejemplos pero solo recogen la demora de forma generica  no especifica.
con un try

try {
            Thread.currentThread().sleep( 1000 );
        }catch( InterruptedException e ){}


Un saludo

2  Programación / Programación C/C++ / Error de suma en: 18 Marzo 2015, 09:35
Muy buenas, estoy un poco desesperado porque no encuentro el error, seguro que es una tonteria.
El programa trata de sumar los suspensos y aprobados de una clase de 10 en 4 asignaturas

Tengo dos problemas:
1.- La recogida de datos empieza con el alumno 1, asignatura 1, posteriormente asignatura 2 pero me mantiene el alumno 1, cuando deberia poner alumno 2.

2.- Una vez introducida las calificaciones, la primera asignatura me suma los suspensos y aprobados, pero los sucesivos lo que hace es sumar los anteriores no me contabiliza los suspensos ya aprobados de la segunda asignatura y asi sucesivamente.
Ruego un cable.

Os dejo el codigo.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define max_alumnos 10
  4. #define max_pruebas 4
  5. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  6. int main()
  7. {
  8.  
  9. float notas[4][10];
  10. float nota[max_alumnos];
  11. float A[max_alumnos][max_pruebas];
  12. int prueba = 1,alumno = 1;
  13. int a,b,i,j,opc;
  14. int aprobados=0;
  15. int suspensos=0;
  16.  
  17.  
  18.  
  19. printf("Calculo aprobados y suspensos:\n");
  20.       for(a=0; a<max_pruebas; a++){
  21.           printf("\nNumero de Prueba %d: \n", prueba++);
  22.           for(b=0;b<max_alumnos;b++){
  23.               printf("Calificacion del Alumno %d:", alumno++);
  24.               scanf("%f", &A[a][b]);
  25.              alumno = 1;
  26.            {
  27.            if (A[a][b]>=5)
  28.               aprobados++;
  29.               else
  30.               suspensos++;
  31.              }
  32. }
  33.    printf("\nNOTAS DE LOS ALUMNOS");
  34.    printf("\nAlumnos aprobados ...............: %d",aprobados);
  35.    printf("\nAlumnos suspendidos .............: %d\n",suspensos);
  36.  
  37.     }
  38.  
  39.     system("pause");
  40. return 0;
  41. }
  42.  
  43.  
  44.  
  45.  
3  Programación / Programación C/C++ / Sobre aprobado y suspenso en: 16 Marzo 2015, 22:57
Muy buenas, estoy peleandome con el codigo  pero algo debo hacer mal puesto que el total de suspendido y aprobados no me lo calcula bien, y tambien me da un error en la condicion do..while por eso la tengo anulada como si fuera un comentario.
Os dejo el codigo a ver si puedes darme algo de luz.

Saludos y gracias a los que estais ahi para ayudarnos a los que empezamos.

Código
  1.    #include <stdio.h>
  2.    #include <stdlib.h>
  3.    #define  ALUMNOS 10
  4.    #define  PRUEBAS  4
  5.  
  6.    int main()
  7.    {
  8.  
  9.  
  10.    int a,b,i,j;
  11.    int nota=0;
  12.    int prueba = 1,alumno = 1;
  13.    int aprobados=0;
  14.    int suspensos=0;
  15.    float A[ALUMNOS][PRUEBAS];
  16.  
  17.           printf("Calculo aprobados y suspensos:\n");
  18.  
  19.           //do {
  20.           for(i=0; i<PRUEBAS; i++){
  21.               printf("\nNumero de Prueba %d: \n", prueba++);
  22.               for(j=0;j<ALUMNOS; j++){
  23.                   printf("Calificacion del Alumno %d:", alumno++);
  24.                   scanf("%f", &A[i][j]);
  25.                   //if(nota!=-1)
  26.  
  27.                if(nota>=5)
  28.                   aprobados++;
  29.                 else suspensos++;
  30.                alumno = 1;
  31.    }
  32.                } //while (nota!=-1);
  33.  
  34.        printf("\nNOTAS DE LOS ALUMNOS");
  35.        printf("\nAlumnos aprobados ...............: %d",aprobados);
  36.        printf("\nAlumnos suspendidos .............: %d\n",suspensos);
  37.  
  38.         return 0;
  39.     }
  40.  
  41.  
4  Programación / Programación C/C++ / Sobre media de asignaturas en: 15 Marzo 2015, 15:14
Muy buenas, estoy liado con un programa para la uni., y debo de sacar la media por asignaturas y la media por notas, el caso es que el primer punto lo he sacado, pero tengo un problema para sacar el segundo punto,  nota media de cada prueba (calculada como la media de las notas de todos los alumnos en una prueba), por mucho que he cambiado los parametros siempre me refleja la ultima nota incluida en este caso en el ultimo alumno, estoy aburridooo y no avanzo. Ruego una ayuda, os adjunto el codigo.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. //void menu(); // Menu de opciones
  7.  
  8. //void main(){
  9.  
  10. float Notas[4][10], media[10],suma;
  11. float Notas1[4][10], media1[10],suma1;
  12. //float promedio(float notap)
  13. int a,b,c,d;
  14. int opc;
  15. //float prom = 0;
  16.   // prom = notap/10;
  17.    //return prom;
  18. {
  19. // --------------------------------------------------------------------------------------//
  20. //void menu(){
  21. printf("\n Introduce una opcion del menu\n");
  22. printf("\n 1.- Calcular Nota final del alumno\n");
  23. printf("\n 2.- Calculo nota media por prueba\n");
  24. printf("\n 3.- Listado de Pruebas y Notas\n");
  25. printf("\n 4.- Salir del programa\n");
  26.  
  27. scanf("%d",&opc);
  28. switch(opc)
  29.  
  30. // --------------------------------------------------------------------------------------
  31. case 1:{
  32. for (a=0;a<10;a++)
  33. {suma=0;
  34. printf("\n Datos del Alumno %d\n",a+1);
  35. for(b=0;b<4;b++)
  36. {
  37. printf("\n Introduce la calificacion de la prueba %d:", b+1);
  38. scanf("%f", &Notas[a][b]);
  39. suma=suma+Notas[a][b];
  40. }
  41. media[a]=suma/b;
  42.  
  43. printf("\n\n La nota media del alumno %d es: %.2f\n", a+1, media[a]);
  44.  
  45. }
  46. break;
  47. // --------------------------------------------------------------------------------------
  48. case 2:{
  49. }
  50. for (c=0;c<4;c++)
  51. {suma1=0;
  52. printf("\n Datos de la prueba %d\n",c+1);
  53. for(d=0;d<10;d++)
  54. {
  55. printf("\n Introduce la calificacion del alumno %d:", d+1);
  56. scanf("%f", &Notas1[c][d]);
  57. suma=suma1+Notas1[c][d];
  58. }
  59. //media1[c]=suma/d;
  60.  
  61. printf("\n\n La nota media de la prueba %d es: %.2f\n", c+1, suma);//media1[c]);
  62. }
  63. break;
  64.  
  65. // --------------------------------------------------------------------------------------
  66.  
  67. //while (opc !=0);
  68.  
  69. //return 0;
  70. }
  71. }
  72. }
5  Programación / Programación C/C++ / Acabar ejecucion pulsando 0 en: 20 Febrero 2015, 16:38
Estoy realizando un ejercicio el cual me piden que calcule numeros primos y una vez calculado vuelva a preguntar si quiere volver a calcular nuevamente otro numero. El programa se va ejecutando digamos en Bucle hasta que pulsemos 0

Ahi es donde tengo el problema no se donde poner esa condicion ni de que forma, asi de como indicarle nuevamente que haga la pregunta de si quiere volver a calcular un nuevo numero primo.

Os dejo el codigo.

Espero que alguien me ponga sobre la pista porque estoy "aburrido", ademas de estar empezando en este mundo.

Muchas gracias y un saludo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.    int n, c, divisores;
  7.  
  8.    do{
  9.        printf("Introduzca un numero entero positivo para verificar si es o no primo:\n");
  10.        scanf("%d",&n);
  11.  
  12.  
  13.    }while (n<0);
  14.  
  15.    divisores = 0;
  16.  
  17.    for(c=2; c<=n/2; c++)
  18.  
  19.        if (n%c == 0)
  20.  
  21.            divisores++;
  22.    if (divisores >= 1) printf ("%d no es primo\n", n);
  23.    else printf ("%d es primo\n",n);
  24.  
  25.    if(n==0)
  26.    printf("Fin del Programa\n");
  27.  
  28.    {
  29.  
  30.    return(0);
  31.        }
  32. }

Mod: Mensaje modificado, al publicar código usa etiquetas GeSHi
6  Programación / Programación C/C++ / Calculo factor en: 17 Febrero 2015, 22:16
Muy buenas a todos, estoy realizando un pequeño programa que calcule un numero factorial, el cual ya lo tengo planteado con la estructura do..while, pero quiero que  cuando me pida el numero a calcular le pongo 0, me salga un mensaje de error y me diga que debo ingresar de nuevo un numero distinto a 0 y vuelva a ejecutarse la sentencia.

Muchas gracias
Un saludo

7  Programación / Programación C/C++ / Ayuda programa en C calculo areas en: 5 Febrero 2015, 22:15
Buenas noches, soy nuevo en la programación en C y estoy haciendo un ejercicio, se trata de calcular el area de un cuadrado, rectángulo, triángulo, etc.

Esto lo tengo controlado a través de un menu que da opción de elegir mediante un numero el area que desee calcular, el problema que tengo es que entre los valores introducidos no podrá ser 0 o valor negativo, en caso de introducir alguno de estos datos el programa mostrara un mensaje de error en pantalla y finalizara.

De que forma puedo poner estos argumentos?
Os dejo el código del programa.

Muchas Gracias

Código
  1. #include <stdio.h>
  2.  
  3.  
  4. int a;
  5. float cua, rec, tri, cir, rom;
  6. float b,c,d,e,f,g,h,i;
  7. float pi=3.141592;
  8.  
  9.  
  10. int main()
  11.  
  12. {
  13.  
  14.  
  15.    printf("Seleccione la opcion que desee calcular \n \n");
  16.    printf("1.- CUADRADO: \n");
  17.    printf("2.- RECTANGULO: \n");
  18.    printf("3.- TRIANGULO: \n");
  19.    printf("4.- CIRCULO: \n");
  20.    printf("5.- ROMBO: \n");
  21.  
  22.    scanf("%d", &a);
  23.  
  24.    if(a==1){
  25.        printf("Ingrese el lado del cuadrado: \n");
  26.        scanf("%f", &b);
  27.        cua=(float) b*b;
  28.        printf("El area del cuadrado es: %f \n", cua);
  29.    }
  30.  
  31.    else if (a==2){
  32.        printf("Ingrese la base y la altura del rectangulo: \n");
  33.        scanf("%f", &c);
  34.        scanf("%f", &d);
  35.        rec=(float) c*d;
  36.        printf("El area del rectangulo es: %f \n", rec);
  37.    }
  38.    else if (a==3){
  39.        printf("Ingrese la base y la altura del triangulo: \n");
  40.        scanf("%f", &e);
  41.        scanf("%f", &f);
  42.        tri=(float) e*f/2.0;
  43.        printf("El area del triangulo es: %f \n", tri);
  44.    }
  45.    else if(a==4){
  46.        printf("Ingrese el radio del circulo: \n");
  47.        scanf("%f", &g);
  48.        cir=(float) pi*g*g;
  49.        printf("El radio del circulo es: %f \n", cir);
  50.    }
  51.    else if(a==5){
  52.        printf("Ingrese la Diagonal mayor y la Diagonal Menor;\n");
  53.        scanf("%f", &h);
  54.        scanf("%f", &i);
  55.        rom=(float) h*i/2.0;
  56.        printf("El area del rombo es: %f \n", rom);
  57.    }
  58.  
  59.    return 0;
  60.  
  61. }

Mod: Cuando publiques codigo, usa las etiquetas GeSHi
Páginas: [1]
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines