Hinamarth

Frog up & down

Nov 27th, 2011
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.28 KB | None | 0 0
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<math.h>
  4.  
  5. int passo_rana(int);
  6.  
  7. int passo_rana(int pace){
  8.   int x, step;
  9.   x = lrand48()%2;
  10.   if( x==0 ){
  11.     step=2;}
  12.   else{
  13.     step=-1;
  14.   }
  15.   printf("La rana si trova al gradino %d. \n", pace);
  16.   return step;
  17. }
  18.  
  19. main(){
  20.   int N, tempo, pace, new, x, jumped[1000], not_jumped[1000], i, c;
  21.   srand48(time(0));
  22.   printf("Questo programma calcola il tempo che una rana impiega a salire una scala a chiocciola di N gradini\n");
  23.   printf("Immetti il numero di gradini, tenendo conto che questi devono essere maggiori o uguali di 100 e minori e uguali di 1000.\n N = ");
  24.   scanf("%d", &N);
  25.   while( (N<100) || (N>1000) ){
  26.     printf("Il numero inserito e' errato! Reinserisci N.\n N = ");
  27.     scanf("%d", &N);}
  28.   for( i=0; i<1000; i++){
  29.     *(not_jumped+i)=0;
  30.     *(jumped+i)=0;
  31.   }
  32.   pace=0;
  33.   for( tempo=0; pace<N; tempo++){
  34.     x = passo_rana(pace);
  35.     new=pace+x;
  36.     if(new<0)
  37.       {}
  38.     else{
  39.       pace=new;}
  40.     (*(not_jumped+pace))++;
  41.   }
  42.   printf("\n");
  43.   printf("La rana impiega %d istanti a salire la scala.\n", tempo);
  44.   c=0;
  45.   for(i=0; i<N; i++){
  46.     if( *(not_jumped+i)==0){
  47.       *(jumped+i)=1;
  48.     }
  49.   }
  50.   for(i=0; i<N; i++){
  51.     if(*(jumped+i)==1){
  52.       printf("%d ", i);}
  53.   }
  54.   printf("\n");
  55. }
  56.  
  57.  
Advertisement
Add Comment
Please, Sign In to add comment