Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> //Per printf
- #include <time.h> //Per numeri random
- #include <stdlib.h> //Per numeri random
- #include <string.h> //Per salvarmi il nome delle pompe
- int main() {
- srand(time(NULL)); //Inizializzo il seme per i random;
- //Ore di lavoro di ogni pompa, numero a caso fra 0 e 99
- int pompaA = rand() % 100,
- pompaB = rand() % 100,
- pompaC = rand() % 100,
- pompaD = rand() % 100;
- //min1 e min2 contengono le ore di lavoro delle
- //due pompe che hanno lavorato meno, tra quelle
- //analizzate fino ad ora. Vale sempre min1 < min2.
- int min1, min2;
- //mi salvo anche i nomi così posso stamparli alla
- //fine
- char min1_nome[255], min2_nome[255];
- //Per debug, stampo a schermo le ore di ogni pompa
- printf("Pompa A: %2d,\nPompa B: %2d,\nPompa C: %2d,\nPompa D: %2d\n\n", pompaA, pompaB, pompaC, pompaD);
- // *** inizio algoritmo ***
- //Confronto A con B e assegno min1 e min2 di conseguenza.
- if(pompaA < pompaB) {
- min1 = pompaA; min2 = pompaB;
- strcpy(min1_nome, "Pompa A"); strcpy(min2_nome, "Pompa B");
- }
- else {
- min1 = pompaB; min2 = pompaA;
- strcpy(min1_nome, "Pompa B"); strcpy(min2_nome, "Pompa C");
- }
- //Confronto C con min2.
- if(pompaC < min2) {
- //Confronto C con min1.
- if(pompaC < min1) {
- //Se C < min1, allora min2 = min1 e min1 = C
- min2 = min1; strcpy(min2_nome, min1_nome);
- min1 = pompaC; strcpy(min1_nome, "Pompa C");
- } else {
- //Altrimenti min1 rimane comunque il più
- //basso, e metto min2 = C
- min2 = pompaC; strcpy(min2_nome, "Pompa C");
- }
- }
- //Confronto D con min2. Non è più importante confrontarlo
- //anche con min1. Se quando finisco min2 < min1 va bene
- //comunque, tanto non mi interessa sapere che pompa ha
- //lavorato meno, ma solo le due che hanno lavorato meno
- if(pompaD < min2) {
- min2 = pompaD; strcpy(min2_nome, "Pompa D");
- }
- // *** Fine algoritmo ***
- printf("Ore di lavoro minori: %d, %d (%s, %s)\n", min1, min2, min1_nome, min2_nome);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement