Devo svolgere questo esercizio per domani:
Scrivere un programma che legge da std input una sequenza di n x 4 numeri reali (0 = n = 365) che
rappresentano le temperature misurate in un determinato luogo ogni 6 ore per n giorni consecutivi
di un anno e li memorizza (per righe) in una matrice di reali n x 4. Si assuma che l'input termini non
appena viene fornito un numero maggiore o uguale a 100. Quindi il programma provvede a
determinare e stampare i giorni in cui la temperatura ha raggiunto il suo valore più basso.
Questo è quello che ho fatto io:
#include <iostream>
using namespace std;
int main()
{
float T[365][4];
for (int i=0; i<365; i++)
{
cout << "Immettere le temperature del giorno " << i+1 << ": " << endl;
for (int j=0; j<4; j++)
{
cin >> T[i][j];
if (T[i][j]>=100)
{
j=5; i=366;
}
}
}
int x=0;
float y=0;
int S[1460];
for (int i=0; i<365; i++)
{
for (int j=0; j<4; j++)
{
if (T[i][j]<=y)
{
y=T[i][j];
S[x]=i;
x++;
}
}
}
cout << "La temperatura piu' bassa (" << y << ") e' stata registrata i giorni:" << endl;
for (int i=0; i<x; i++)
cout << S[i]+1 << " ";
return 0;
}
Funziona tutto correttamente, tranne il giorno in cui è stata registrata la temperatura, sapreste aiutarmi? (funziona solo se la temperatura più bassa è uguale in diversi giorni)
Grazie in anticipo.