Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Nell'array Ore_Studio sono memorizzate le ore passate a studiare da uno studente
- // per ogni giorno del mese (valori da 0 a 4)
- // Calcola e visualizza il numero totale di ore passate a studiare nel corso del mese
- // il giorno (o i giorni) in cui lo studente in cui lo studente ha studiato per un numero
- // maggiore di ore e il numero di giorni in cui non ha aperto libero
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
- main()
- {
- // Genero il seed
- srand((unsigned)time(NULL));
- // Dichiaro Ore_Studio
- int Ore_Studio[31]; // Considero un mese ideale di 31 giorni
- // Dichiaro le variabili che devo calcolarmi
- int ore_studio_totali = 0;
- int quantita_giorni_sgobbone = 0;
- int quantita_giorni_zero = 0;
- int giorni_sgobbone[31];
- // Riempio Ore_Studio di ore che ovviamente io non farei mai
- int i;
- for (i=0; i<31; i++)
- {
- Ore_Studio[i] = rand() % 4;
- giorni_sgobbone[i] = -1;
- }
- // Trovo ore_studio_totali
- for (i=0; i<31; i++) ore_studio_totali += Ore_Studio[i];
- // Devo trovare inanzitutto "il numero maggiore di ore"
- // Perchè con molta probabilità è 4, ma se per caso non dovesse generare mai un 4?
- int max = -1;
- for (i=0; i<31; i++) if (Ore_Studio[i]>max) max = Ore_Studio[i];
- // Adesso ho "max" che indica il "numero maggiore di ore"
- // Posso calcolare quanti giorni ha passato a studiare per questo "numero maggiore" di ore
- for (i=0; i<31; i++) if (Ore_Studio[i]==max) quantita_giorni_sgobbone++;
- int k = 0;
- for (i=0; i<31; i++)
- if (Ore_Studio[i]==max)
- {
- giorni_sgobbone[k] = i+1;
- k++;
- }
- // Stranamente l'esercizio chiedeva sta cosa solo per il numero maggiore di ore
- // Mentre per le ore = 0 posso anche fare un contatore come gli altri
- for (i=0; i<31; i++) if (Ore_Studio[i]==0) quantita_giorni_zero++;
- // Stampo la vita
- printf("Ore_Studio[] = \n");
- for (i=0; i<31; i++) printf("%d\n",Ore_Studio[i]);
- printf("Numero totale di ore passate a studiare: %d\n",ore_studio_totali);
- printf("Il numero maggiore di ore studiate e' %d\n",max);
- printf("Lo studente ha studiato per %d ore nei giorni:\n",max);
- for (i=0; i<quantita_giorni_sgobbone; i++) printf("%d\n",giorni_sgobbone[i]);
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement