mariom86
16-01-2007, 11:15
Qualcuno e così gentile da aiutarmi con questi due esercizi? Sono disperato e devo consegnarli entro sabato. Vi prego, qualcuno mi dia una mano!!
Esercizio 1
Ponete in un file di nome data.txt un elenco (almeno 50) di nomi di studenti, numeri
identificativi, età e voti.
Per esempio, l’inizio del file potrebbe essere simile a:
Rossi Mario 910017 21 30
Bianchi Ernesto 910102 23 18
Esposito Gennaro 910080 34 22
………….
Scrivere un programma di nome reorder utilizzabile per leggere i dati nel file e porli in un array
class di tipo struct student. Inoltre il programma deve stampare a video un elenco ordinato
degli studenti e dei relativi voti. Devono essere stampati per primi gli studenti con voto 30, seguiti
da quelli con voto 29, e così via. Gli studenti con la stessa votazione dovrebbero essere elencati in
ordine alfabetico. Per l’ordinamento, utilizzare l’algoritmo di ordinamento per Inserzione.
Esercizio 2
Scrivere un programma C che riceva in input un file di nome data.txt contenente un elenco di
nomi di studenti, numeri identificativi, età e voti (la struttura è simile a quella utilizzata per
l’esercizio 1), e produca in output (stampa a video) due elenchi degli studenti: uno ordinato per età
(ordinamento su interi), l’altro ordinato per nome (ordinamento lessicografico). Per memorizzare i
dati del file, si utilizzi una lista lineare concatenata avente come tipo DATA la seguente struttura:
typedef struct {
char nome[10];
int matricola[6];
int età;
int voto;
} DATA;
N.B. Per la soluzione dell’esercizio, si richiede che l’ordinamento deve modificare la lista
contenente gli studenti, inoltre il candidato può scegliere un qualsiasi algoritmo di ordinamento
visto a lezione, purché utilizzi una versione iterativa di esso.
Esercizio 1
Ponete in un file di nome data.txt un elenco (almeno 50) di nomi di studenti, numeri
identificativi, età e voti.
Per esempio, l’inizio del file potrebbe essere simile a:
Rossi Mario 910017 21 30
Bianchi Ernesto 910102 23 18
Esposito Gennaro 910080 34 22
………….
Scrivere un programma di nome reorder utilizzabile per leggere i dati nel file e porli in un array
class di tipo struct student. Inoltre il programma deve stampare a video un elenco ordinato
degli studenti e dei relativi voti. Devono essere stampati per primi gli studenti con voto 30, seguiti
da quelli con voto 29, e così via. Gli studenti con la stessa votazione dovrebbero essere elencati in
ordine alfabetico. Per l’ordinamento, utilizzare l’algoritmo di ordinamento per Inserzione.
Esercizio 2
Scrivere un programma C che riceva in input un file di nome data.txt contenente un elenco di
nomi di studenti, numeri identificativi, età e voti (la struttura è simile a quella utilizzata per
l’esercizio 1), e produca in output (stampa a video) due elenchi degli studenti: uno ordinato per età
(ordinamento su interi), l’altro ordinato per nome (ordinamento lessicografico). Per memorizzare i
dati del file, si utilizzi una lista lineare concatenata avente come tipo DATA la seguente struttura:
typedef struct {
char nome[10];
int matricola[6];
int età;
int voto;
} DATA;
N.B. Per la soluzione dell’esercizio, si richiede che l’ordinamento deve modificare la lista
contenente gli studenti, inoltre il candidato può scegliere un qualsiasi algoritmo di ordinamento
visto a lezione, purché utilizzi una versione iterativa di esso.