Să se realizeze o structură de date ce stochează următoarele informații privind o zi
calendaristică a anului: data (zi, luna, an), temperaturile minimă și maximă măsurate. Să
se realizeze un program care afișează ziua în care s-a înregistrat cea mai mare variație a
temperaturii, din n zile introduse de la tastatură.
Răspunsuri la întrebare
Răspuns:
include <iostream>
#include <vector>
#include <string.h>
using namespace std;
typedef struct {
char Data[100];
int Temperatura_maxima;
int Temperatura_minima;
} offer;
int main() {
vector<offer> v;
offer x;
strcpy(x.Data, "ziua 1");
x.Temperatura_maxima = 100;
x.Temperatura_minima = 4;
offer y;
strcpy(y.Data, "ziua 2");
y.Temperatura_maxima = 200;
y.Temperatura_minima = 6;
offer z;
strcpy(z.Data, "ziua 3");
z.Temperatura_maxima = 300;
z.Temperatura_minima = 1;
v.push_back(x);
v.push_back(y);
v.push_back(z);
offer min_offer;
for (std::vector<offer>::iterator it = v.begin(); it != v.end(); ++it)
{
// min_offer = first element in vector.
if(it == v.begin()) {
strcpy(min_offer.Data, it->Data);
min_offer.Temperatura_maxima = it->Temperatura_maxima;
min_offer.Temperatura_minima = it->Temperatura_minima;
continue;
}
if(it->Temperatura_maxima * it->Temperatura_minima < min_offer.Temperatura_minima * min_offer.Temperatura_maxima) {
strcpy(min_offer.Data, it->Data);
min_offer.Temperatura_maxima = it->Temperatura_maxima;
min_offer.Temperatura_minima = it->Temperatura_minima;
}
}
cout<<"Data="<<min_offer.Data<<endl;
cout<<"Temperatura_maxima="<<min_offer.Temperatura_maxima<<endl;
cout<<"Temperatura_minima="<<min_offer.Temperatura_minima<<endl;
}
Explicație: