Corso di Laboratorio di Informatica L-A
Esame del 15 Aprile 2002
Compito A2
È dato
un file di testo pioggia.txt
che contiene le statistiche di piovosità relative ad un numero di
città imprecisato, comunque non superiore a 20, una città
per riga. Più precisamente, ogni riga contiene, nell'ordine:
-
nome della città
(non più di 15 caratteri, senza spazi intermedi)
-
uno e un solo
spazio
-
codice identificativo
della città (numero intero)
-
uno e un solo
spazio
-
millimetri di
pioggia caduti sulla città nel mese di Gennaio 2002 (numero float)
-
uno e un solo
spazio
-
millimetri di
pioggia caduti sulla città nel mese di Febbraio 2002 (numero float)
-
uno e un solo
spazio
-
millimetri di
pioggia caduti sulla città nel mese di Marzo 2002 (numero float)
Si chiede di scrivere
un programma C che, dopo aver definito una struct citta
nel modo appropriato rispetto a quanto specificato sopra:
-
legga i dati di
piovosità dal file pioggia.txt
e li inserisca in un array di cittadi
nome
valori_medi,
se e solo se i millimetri di pioggia caduti nel mese di Febbraio sono maggiori
o uguali a quelli caduti in Gennaio e minori o uguali a quelli caduti in
Marzo nella stessa città;
[si mostri
a video l'array così costruito]
-
a partire dal
vettore valori_medi,
costruisca una lista di interi i cui elementi sono i codici
identificativi di tutte le città incluse nel vettore. Si chiami
tale lista estremi_esclusi;
[si visualizzi
la lista estremi_esclusi]
-
utilizzi una funzione
void
visualizzaNome(lista estremi_esclusi, citta valori_medi[],
int x), specificatamente
progettata, che dato il numero intero x, va a verificare se x appartiene
alla lista estremi_esclusi
e, in caso
affermativo, stampa a video il nome della città a cui corrisponde
quel codice identificativo, ovviamente sfruttando l'informazione
ottenuta sulla posizione di x all'interno della lista.
[si visualizzino
i risultati dell'invocazione della funzione]
-
FACOLTATIVO. A
partire dal vettore valori_medi,
costruisca una lista non-ordinata di stringhe i cui elementi
sono i nomi delle città il cui codice identificativo appartiene
alla lista estremi_esclusi.
Si chiami tale lista estremi_esclusi_stringhe.
[si visualizzi
la lista estremi_esclusi_stringhe]
E' possibile utilizzare
librerie C (ad esempio per stringhe) e si devono utilizzare le librerie
sulle liste presentate a lezione (list.h,
list.c,
element.h).