Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: xXJoSe13Xx en 14 Octubre 2017, 17:49 pm



Título: Programa que simule particula en el universo
Publicado por: xXJoSe13Xx en 14 Octubre 2017, 17:49 pm
Tengo que realizar un programa en C que pide esto ------> https://ibb.co/f8fCLb
Y no se como proceder, ahora mismo no se como seguir, mi código hasta ahora es este--
 https://ibb.co/g04iRG

Lo siento he tenido que subir las imagenes a esos enlaces.


· Los titulos deben ser descriptivos
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Programa que simule particula en el universo
Publicado por: engel lex en 14 Octubre 2017, 17:59 pm
el código apenas se lee, copia y pégalo Aquí ( no olvides usar etiquetas GeSHi)

a demás explica con detalles tus dudas y en que estás bloqueado


Título: Re: Programa que simule particula en el universo
Publicado por: xXJoSe13Xx en 14 Octubre 2017, 18:58 pm
Lo siento el código que llevo es este:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. printf("                              SIMULACION UNIVERSO RADIAL ENTERO \n");
  7. printf("                              ********************************** \n");
  8. int seguir, distancia, salto, nu;
  9. int i;
  10. int contador;
  11.        srand (time(NULL));
  12. nu = -1;
  13. do
  14.        {
  15. printf("Introduce la distancia inicial de la particula al centro: ");
  16.    scanf("%d" , &distancia);
  17.        salto;
  18.    nu++;
  19. printf("Comienza la Simulacion: \n");
  20.  
  21. printf("Distancia de la particula al Centro en el salto numero %d: %d \n", nu ,distancia);
  22. for(i=1;;i++)
  23. {
  24. salto = rand()%6+1;
  25. printf("Distancia de este salto: %d \n", salto);
  26. printf("Distancia de la particula al Centro en el salto numero %d: %d \n", i ,distancia-salto);
  27. if (distancia <= 0)
  28.        {
  29.            printf("Fin de simulacion, se han realizado %d saltos", contador);
  30.            break;
  31.        }
  32. }
  33. printf( "\n\nHacemos otra (s/n)?: " );
  34.      fflush( stdin );
  35.      scanf( "%c", &seguir );
  36.   } while ( seguir != 'n' );
  37.  
  38.  
  39. return 0;
  40. }


Y es de un trabajo de la universidad, soy totalmente principiante. El código esta a medias, pero principalmente porque no se exactamente que hacer.
Hasta ahora en la universidad no hemos dado mucho de programación, pero de repente nos pide un código así, y no me sale, he buscado información respecto a como introducir números aleatorios.
Pero principalmente al ir desarrollando el código, me he dado cuenta, que la distancia al restar por el salto, en el primer numero introducido se resta correctamente, pero después se resta por números aleatorios y hace saltos de forma infinita, y nunca llega a 0 con lo que no se para. Tampoco se como contar los saltos que realiza, y obviamente que se desarrolle correctamente la distancia restada por el salto hasta llegar a 0.


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Programa que simule particula en el universo
Publicado por: srWhiteSkull en 15 Octubre 2017, 02:56 am
Por lo que observo es mas un problema de desconocimiento no ya de los fundamentos de c, sino de la programacion en general y me cuesta creer que todo eso lo hayas escrito tu.... sin animo de ofender.

Mi recomendacion es que hagas un curso de c, por ejempl9 c con clase... comienza desde el principio y has ejercicios basicos, y luego afronta el trabajo q necesitas hacer.

Suerte  ;)


Título: Re: Programa que simule particula en el universo
Publicado por: Serapis en 15 Octubre 2017, 04:05 am
Mmmm... a ver si de entrada ofreces una distancia X...
Y luego se obtiene al azar un valor de salto, y se le resta a X, es claro que tras varios saltos, se acabará llegando a 0.

Verifica que si la distancia es MENOR O Igual a 0, salga del bucle, o dicho de otro modo, condiciona el bucle for como un "do ... while (Distancia >0)

En resumen:

Código:
Main
    entero simulaciones, x, respuesta

    Hacer
        x = PedirDistancia
        llamada MoverParticula(x)
        simulaciones +=1
        respuesta = PedirOtraParticula
    Repetir Mientras (respuesta = 1) // ó "si", ó TRUE, ó lo que acuerdes...

    Mostrar simulaciones //el número de simulaciones realizadas.
Fin Main

Te pide que se haga con funciones, luego al menos una función, debieras crear...
Código:
Funcion MoverParticula( entero distancia)
    entero Saltos, salto

    Hacer mientras (Distancia > 0)
        Mostrar distancia //actual
        salto = ValoralAzar(entre 0 y 9)
        saltos +=1
        distancia -= salto
    Repetir

    Mostrar distancia 0 //aunque sea negativo
    Mostrar saltos //la cantidad de saltos realizada
    
Fin funcion

Y si no hay más eso debería ser todo...

Mi consejo es que no esperes a dar una lección en la universidad para aprenderlo, revisa tus libros y trata de adelantarte al temario...



Título: Re: Programa que simule particula en el universo
Publicado por: xXJoSe13Xx en 15 Octubre 2017, 09:29 am
Muchas gracias a todos, tenéis razón, lo mejor es que me adelante en temario por mi mismo. Estoy muy perdido en C , me he querido meter muy de golpe en este mundo sin conocimientos ;D  . Y muchas gracias por la función, ya me sale el programa como debía salir.