Guest User

Untitled

a guest
Apr 26th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.96 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. void riempimento_campo(int[][2]);
  6. void riempimento_campo(int campo[][2]){
  7.   int i, k, j;
  8.   for(i = 0; i < 500; i++){
  9.     for (j = 0; j <= 1; j++){
  10.       campo[i][j] = 3;
  11.     }
  12.   }
  13. }
  14.  
  15. int caduta_chicchi(int[][2], int, int[][2]);
  16. int caduta_chicchi(int campo[][2], int N, int colpite[][2]){
  17.   int i, x, y;
  18.   for (i = 0; i < N; i++){
  19.     x = lrand48()%10000;
  20.     y = lrand48()%10000;
  21.     if ( (x > 5000) && (y >= 1010) && (y <= 1022) && (y != 1011)){
  22.       printf("E' stata colpita una pianta nelle coordinate %d x e %d y \n", x, y);
  23.       x = x/10 - 500;
  24.       if( (y >= 1000) && (y < 1011)){
  25.     y = 0;
  26.       }
  27.       else {
  28.     y = 1;
  29.       }
  30.       campo[x][y] += -1;
  31.       colpite[x][y] += 1;
  32.       printf("La vita della pianta è %d , è stata colpita %d volte \n", campo[x][y], colpite[x][y]);
  33.       printf("\n");
  34.      }
  35.     }
  36. }
  37.  
  38. void la_rabbia_del_contadino(int [][2]);
  39. void la_rabbia_del_contadino(int colpite[][2]){
  40.   int i, k, n = 0;
  41.   double percent;
  42.   FILE *p;
  43.   for (i = 0; i < 500; i++){
  44.     for (k = 0; k < 2; k++){
  45.       if (colpite[i][k] >= 3){
  46.     k++;
  47.     printf("La pianta %d della fila %d è stata distrutta \n", i, k);
  48.     p = fopen("fragole.dat", "a");
  49.     fprintf(p, "La pianta %d della fila %d è stata distrutta \n", i, k);
  50.     n++;
  51.     fclose(p);
  52.       }
  53.     }
  54.   }
  55.   percent = (double)n/1000 * 100;
  56.   printf("La percentuale di piante distrutte è stata il %f %% \n", percent);
  57. }
  58.  
  59. main(){
  60.   int N, i, k;
  61.   int campo[500][2];
  62.   int colpite[500][2] = {0};
  63.   printf("Questo programma simula una grandinata su un campo di fragole \n");
  64.   printf("\n");
  65.   do{
  66.     printf("Inserire il numero di chicchi di grandine, tale numero dovrà essere positivo \n");
  67.     scanf("%d", &N);
  68.     if (N < 0){
  69.       printf("Valore non valido \n");
  70.     }
  71.   } while (N < 0);
  72.   riempimento_campo(campo);
  73.   srand48(time(0));
  74.   caduta_chicchi(campo, N, colpite);
  75.   la_rabbia_del_contadino(colpite);
  76. }
Add Comment
Please, Sign In to add comment