Advertisement
tpaper

Untitled

Feb 18th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.32 KB | None | 0 0
  1. #include <stdio.h>      //Per printf
  2. #include <time.h>       //Per numeri random
  3. #include <stdlib.h>     //Per numeri random
  4. #include <string.h>     //Per salvarmi il nome delle pompe
  5.  
  6. int main() {
  7.     srand(time(NULL));  //Inizializzo il seme per i random;
  8.    
  9.     //Ore di lavoro di ogni pompa, numero a caso fra 0 e 99
  10.     int     pompaA = rand() % 100,
  11.             pompaB = rand() % 100,
  12.             pompaC = rand() % 100,
  13.             pompaD = rand() % 100;
  14.            
  15.     //min1 e min2 contengono le ore di lavoro delle
  16.     //due pompe che hanno lavorato meno, tra quelle
  17.     //analizzate fino ad ora. Vale sempre min1 < min2.
  18.     int min1, min2;
  19.    
  20.     //mi salvo anche i nomi così posso stamparli alla
  21.     //fine
  22.     char min1_nome[255], min2_nome[255];
  23.            
  24.     //Per debug, stampo a schermo le ore di ogni pompa
  25.     printf("Pompa A: %2d,\nPompa B: %2d,\nPompa C: %2d,\nPompa D: %2d\n\n", pompaA, pompaB, pompaC, pompaD);
  26.    
  27.     // *** inizio algoritmo ***
  28.    
  29.    
  30.     //Confronto A con B e assegno min1 e min2 di conseguenza.
  31.     if(pompaA < pompaB) {
  32.         min1 = pompaA; min2 = pompaB;
  33.         strcpy(min1_nome, "Pompa A"); strcpy(min2_nome, "Pompa B");
  34.     }
  35.     else {
  36.         min1 = pompaB; min2 = pompaA;
  37.         strcpy(min1_nome, "Pompa B"); strcpy(min2_nome, "Pompa C");
  38.     }
  39.    
  40.     //Confronto C con min2.
  41.     if(pompaC < min2) {
  42.        
  43.         //Confronto C con min1.
  44.         if(pompaC < min1) {
  45.            
  46.             //Se C < min1, allora min2 = min1 e min1 = C
  47.             min2 = min1; strcpy(min2_nome, min1_nome);
  48.             min1 = pompaC; strcpy(min1_nome, "Pompa C");
  49.         } else {
  50.            
  51.             //Altrimenti min1 rimane comunque il più
  52.             //basso, e metto min2 = C
  53.             min2 = pompaC; strcpy(min2_nome, "Pompa C");
  54.         }
  55.     }    
  56.    
  57.     //Confronto D con min2. Non è più importante confrontarlo
  58.     //anche con min1. Se quando finisco min2 < min1 va bene
  59.     //comunque, tanto non mi interessa sapere che pompa ha
  60.     //lavorato meno, ma solo le due che hanno lavorato meno
  61.     if(pompaD < min2) {
  62.         min2 = pompaD; strcpy(min2_nome, "Pompa D");
  63.     }
  64.    
  65.    
  66.     // *** Fine algoritmo ***
  67.    
  68.     printf("Ore di lavoro minori: %d, %d (%s, %s)\n", min1, min2, min1_nome, min2_nome);
  69.    
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement