Advertisement
Guest User

Untitled

a guest
Dec 9th, 2011
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.21 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4.  
  5. int numero_salti(int n_scalini);
  6.  
  7. int main()
  8. {
  9.     int n_rane;
  10.     int n_scal;
  11.     int i;
  12.    
  13.     printf("Simuliamo un'avvincente gara di salti fra rane! \n");
  14.  
  15.     printf("Inserisci il numero di rane che gareggeranno (1-100): ");
  16.     while (!scanf("%d", &n_rane) || n_rane <= 0 || n_rane > 100)
  17.     {
  18.         printf("Il numero di rane deve essere compreso tra 1 e 100.\n");
  19.         printf("Inserisci il numero di rane che gareggeranno: ");
  20.     }
  21.  
  22.  
  23.     printf("Inserisci il numero di scalini da saltare (1-50): ");  
  24.     while (!scanf("\n%d", &n_scal) || n_scal <= 0 || n_scal > 50)
  25.     {
  26.         printf("Il numero di scalini deve essere compreso tra 1 e 100.\n");
  27.         printf("Inserisci il numero di scalini da saltare: "); 
  28.     }
  29.  
  30.     srand(time(NULL));
  31.     for (i = 0; i < n_rane; ++i)
  32.         printf("La rana[%d] ha terminato la gara con %d salti.\n",
  33.                 i + 1,
  34.                 numero_salti(n_scal));
  35.                
  36.     system("pause");
  37.     return 0;
  38. }
  39.  
  40. int numero_salti(int n_scalini)
  41. {
  42.     int pos = 0;
  43.     int n_salti = 0;
  44.    
  45.     do
  46.     {
  47.         pos += 3 * (rand() % 2) - 1;
  48.        
  49.         if (pos < 0)
  50.             pos = 0;
  51.         else if (pos > n_scalini)
  52.             pos = n_scalini - 2;
  53.            
  54.         n_salti += 1;
  55.     } while (pos != n_scalini);
  56.    
  57.     return n_salti;
  58. }
  59.  
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement