[C]problema ciclo con 2 for
ciao,
sto scrivendo una piccola funzione che deve definire due vettori contenenti le temperature min giornaliere e massime giornaliere per ogni citta'...mi spiego:
avevo un .txt contenente i nomi di 5 citta, e l'ho salvato gia' in una struttura che mi servirà a stampare il report d'uscita;
milano
mantova
pavia
como
lodi
e poi avevo un altro .txt nel quale erano presenti le rilevazioni fatte nei vari giorni nelle varie citta'(11 rilevazioni)...queste le ho salvate in un'opportuna struttura "rilevazioni"..purtroppo pero' sto facendo un po' di confusione e stampo un vettore solo(e non 5, uno per citta') tra l'altro di valori nulli...
io voglio creare un vettore di temperature minime e uno di temp massime per ogni singola citta'...
es. milano_minime :
-2.0
-4.9
0
2.3
milano_massime:
1.3
2.9
5.1
4.7
ecc ecc
sto scrivendo una piccola funzione che deve definire due vettori contenenti le temperature min giornaliere e massime giornaliere per ogni citta'...mi spiego:
avevo un .txt contenente i nomi di 5 citta, e l'ho salvato gia' in una struttura che mi servirà a stampare il report d'uscita;
milano
mantova
pavia
como
lodi
e poi avevo un altro .txt nel quale erano presenti le rilevazioni fatte nei vari giorni nelle varie citta'(11 rilevazioni)...queste le ho salvate in un'opportuna struttura "rilevazioni"..purtroppo pero' sto facendo un po' di confusione e stampo un vettore solo(e non 5, uno per citta') tra l'altro di valori nulli...



void conti() { int i,j; float te_minime[11]={0}; float te_massime[11]={0}; for(i=0;i<5;i++) { //per ogni singola citta for(j=0;j<11;j++) { //cicla tutte le rilevazioni if(strcmp(riga[i].nome,rilevazione[j].luogo)==0){ te_minime[j]=rilevazione[j].temp_min; te_massime[j]=rilevazione[j].temp_max; } } } for (i=0;i<11;i++) { printf("%f\n",te_minime[i]); //prova a stampare i vettori } }
io voglio creare un vettore di temperature minime e uno di temp massime per ogni singola citta'...
es. milano_minime :
-2.0
-4.9
0
2.3
milano_massime:
1.3
2.9
5.1
4.7
ecc ecc
Risposte
Probabilmente ti conveniva inserire le cose mentre le leggevi.
no il punto è che mi stampa sempre 0 come se non facesse mai il confronto delle righe...non capisco proprio cosa non vada...ora ho fatto una matrice dove per ogni riga(5 città diverse) ho 11 colonne corrsipondenti a valori di temperatura diversi..ma anche cosi nulla...mi stampa solo degli 0.0
void conti() { int i,j; float te_minime[5][11]={0}; float te_massime[5][11]={0}; for(i=0;i<5;i++) { for(j=0;j<11;j++) { if(strcmp(riga[i].nome,rilevazione[j].luogo)==0){ te_minime[i][j]=rilevazione[j].temp_min; printf("%f\n",te_minime[i][j]); //te_massime[j]=rilevazione[j].temp_max; } } } for (i=0;i<5;i++) { for(j=0;j<11;j++){ printf("%f\n",te_minime[i][j]); } } }