Salve !
Ho problema a risolvere il seguente esercizio per quanto riguarda l' array di puntatori a struttura. Ho una struttura di tipo lago e un puntatore a lago next. Nel main viene passato il puntatore a lago head alla funzione crea_lista() che prende in input un file e un array di puntatori a lago. Come utilizzo il puntatore ad array per creare la lista ?
Grazie anticipatamente !
Codice PHP:
#include <stdio.h>
#include <stdlib.h>
typedef struct lago *next;
typedef struct lago
{
char nome[15];
int profond;
next succ;
}lago;
/*Prototipi di funzione*/
void crea_lista(FILE*, lago**);
void calcolo_max_prof(lago*, int**);
void scrivi_file(FILE*, lago*, int*);
int main(char argv[])
{
lago* head;
FILE *input, *output;
int *max_profond;
input = fopen(argv[1], "r");
crea_lista(input, &head);
calcola_max_prof(head, &max_profond);
scrivi_file(output, head, max_profond);
return 0;
}
/*Crea una lista di record di tipo lago a partire da un file input
* (il cui nome viene passato sulla linea di comando con l'eseguibile)
* in cui sono contenuti dati del tipo (nome lago, profondita'),etc
* (Es. Bracciano 160 Garda 346 Trasimeno 6 Como 410 Maggiore 372).
* Ogni recordo creato dalla funzione conterra' nel campo nome il nome
* del lago, nel campo profond la profondita' e nel campo succ un puntatore
* al prossimo record(eventualmente NULL).La funzione NON restituisce il
* puntatore alla testa della lista che invece e' memorizzata nella variabile
* head passata per riferimento.*/
void crea_lista(FILE* input, lago** first)
{
}
/*Determina la profondita' massima dei laghi presenti nella lista. La funzione
* NON restituisce il puntatore alla testa della lista che invece e' memorizzato
* nella variabile head passata per riferimento.*/
void calcola_max_prof(lago* first, int** max)
{
}
/*Stampa nel file output (il cui nome viene passato sulla linea di comando con
* l' eseguibile e il file input) il record (nome lago + profondita') relativo
* al lago di profondita' massima.*/
void scrivi_file(FILE* output, lago* first, int* max)
{
}