Sbalzi di temperatura

Corso Online per Potenziare le Competenze Digitali

Stanno iniziando i preparativi per le prossime nazionali delle OII, tuttavia la situazione meteorologica negli ultimi mesi è stata a dir poco imprevedibile. In particolare, quello che preoccupa di più lo staff delle OII sono gli sbalzi di temperatura.

Definiamo uno sbalzo di temperatura da caldo a freddo come una variazione di temperatura T1 → T2 dove T1 > T2, e similmente definiamo uno sbalzo di temperatura da freddo a caldo come una variazione di temperatura T1 → T2 dove T1 < T2.

Aiuta lo staff ad identificare, dato il calendario delle dieci possibili giornate per le OII, quali sono i giorni critici da evitare a causa di grandi sbalzi di temperatura.

Ad esempio, se le dieci temperature medie registrate fossero le seguenti:

10, 5, 8, 9, 8, 7, 11, 17, 16, 15

gli sbalzi di temperatura sarebbero:

−5, +3, +1, −1, −1, +4, +6, −1, −1

quindi i due sbalzi critici sono, rispettivamente,

−5 e +6.

Dati di input

Il file input.txt è composto da 10 numeri interi separati da spazio: le temperature medie registrate nei possibili giorni in cui verranno svolte le nazionali delle OII.

Dati di output

Il file output.txt è composto da due numeri interi separati da spazio: il primo è un numero negativo che corrisponde al più grande sbalzo da caldo a freddo; il secondo è un numero positivo che corrisponde al più grande sbalzo da freddo a caldo (fare attenzione al segno + che deve essere stampato prima del secondo numero intero!).

Assunzioni

  • Le temperature sono comprese tra −20 e 60 gradi, estremi inclusi.
  • Due giorni consecutivi non presenteranno mai la stessa temperatura media.
  • Esiste sempre almeno uno sbalzo di temperatura in entrambi i versi.

Esempi di input/output

input.txt output.txt
10 5 8 9 8 7 11 17 16 15 -5 +6
-3 -2 -1 0 1 2 1 0 -1 -2 -1 +1

/*
    www.valcon.it
    Corso Online per Potenziare le Competenze Digitali
    Sbalzi di temperatura
*/

#include 
#include 
using namespace std;

#define N 10

int main()
{
    ifstream fin ( "input.txt");
    ofstream fout("output.txt");

    int t1, t2,
        sbalzo,
        sbalzoNeg=0,
        sbalzoPos=0;

    fin >> t1;
    for(int i=2; i <= N; i++)
    {
        fin >> t2; 
        sbalzo=t2-t1;
 
             if(sbalzo < sbalzoNeg) sbalzoNeg=sbalzo;
        else if(sbalzo > sbalzoPos) sbalzoPos=sbalzo;
 
        t1=t2;
    }
    fout << sbalzoNeg << " " << sbalzoPos;

    return 0;
}

Lascia un commento