|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2015
Messaggi: 3
|
Salve mi servirebbe una pseudo soluzione di questo testo in c++
La struttura dati è una lista dinamica dove ogni nodo descrive il nome della località(50 caratteri) la data (aaaa-mm-gg) la temperatura minima e la temperatura massime rilevate nel giorno.
Si scriva una funzione che riceva come parametri una lista chiamata temps ( che descrive le temperature misurate in un periodo, di diverse località), un vettore di caratteri chiamato loc che indica la località, un vettore di caratteri chiamato data_max e un vettore di caratteri denominato nomefile che contiene il nome del file percorso incluso. La funzione cerca il giorno con la temperatura massima più elevata per la località indicata da loc, scrive sul file il cui nome è riportato nel parametro nomefile i dati completi della rilevazione corrispondente, riporta nel vettore data_max la data della rilevazione trovata. La funzione restituisce -1 in caso di errore o mancanza di rilevazioni altrimenti 0. Ultima modifica di Ube91 : 12-02-2015 alle 11:45. Motivo: Errore di scrittura |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12966
|
Da regolamento non si danno soluzioni a compiti vari.
Per cui posta la tua soluzione e poi si vedrà... |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Feb 2015
Messaggi: 3
|
[c++]
posto la mia soluzione in allegato
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12966
|
Sono dati binari, ti suggerisco di postare il codice che hai realizzato direttamente sul forum tra i tag "code" e "/code" (al posto degli apici metti delle parentesi quadre).
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Feb 2015
Messaggi: 3
|
ecco la mia soluzione
Codice:
typedef struct st_rilevazione{
char localit‡[50]:
char data[11];
double temp_min;
double temp_max;
} RILEVAZIONE;
typedef struct st_nodo{
RILEVAZIONE giorno;
st nodo *next;
} NODO;
int TemperaturaMassima ( char loc[], char data_max[], char nomefile[], NODO *temps){
NODO * t1= temps;
NODO *t2;
ofstream file;
file.open(nomefile::out);
if (fout.fail()){
return -1;
}
int max=0;
while (t1!=NULL){
t2=temps;
while(t2!=NULL){
if (strcmp (t2->giorno.localit‡, loc)==0 && t2->giorno.temp_max>max){
max = t2->giorno.temp_max;
t2=t2->next;
}
if (strcmp(t1->giorno.localit‡, loc)==0 && t1->temp_max >=max){
strcpy(t1->giorno.data, data_max);
file<< t1->giorno.localit‡<<endl;
file<<t1->giorno.data<<endl
file<<t1->giorno.temp_min<<endl;
file<<t1->giorno.temp_max<<endl;
}
else return -1;
t1=t1->next;
}
file.close();
return 0;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:59.



















