PDA

View Full Version : programma in C


ricky_86
23-12-2008, 16:32
data la seguente definizione di tipo

typedef struct nd{
int val;
int nd *next;
int nd *max;
}TLISTA;

si deve costruire un programma in linguaggio C che:

1 definisca un vettore dinamico vettInt contenente numeri interi;
2 definisca una lista lInt di tipo TLISTA;
3 inserisca nel vettore vettInt i numeri interi contenuti in un file denominato dati.txt;
4 inserisca nella lista lInt i valori contenuti in vettInt facendo puntare un elemento al successivo attraverso il campo next ed utilizzando il campo max per far puntare ogni elemento della lista ad un altro elemento secondo il seguente criterio:

per ogni elemento x di lInt, max punta all'elemento di lInt che contiene il valore massimo tra tutti gli elementi lInt che precedono l'elemento x, elemento x incluso.
Quindi max del primo elemento di lInt punta all'elemento stesso; max del secondo elementodi lInt punta al più grande tra il primo e il secondo elemento di l'Int; max del terzo elemento di lInt punta al più grande tra il 1°, il 2° e il 3° elemento di lInt e così via.

io ho scritto


typedef struct nd {
int val;
struct nd* next;
struct nd* max;
}TLISTA;

TLISTA *crealista();
TLISTA *insertlista(TLISTA *, int);
int leggi(FILE *);

int main()
{

int vettInt*;
int a;
FILE *fp;
fp=fopen("dati.txt","r");

while(feof(fp)!=0)
{
a=leggi(fp);

}
fclose(fp);


system ("PAUSE");
return 0;
}


TLISTA *crealista(){
return NULL;
}

TLISTA *insertlista(TLISTA *l, int v){
TLISTA *t=(TLISTA*) malloc(sizeof(TLISTA));

if (t!=NULL){
t->val=v;
t->next=l;
return t;
}
else return l;
}



int leggi(FILE *fp)
{
int a;
fscanf(fp,"%d",&a);
return a;
}

però adesso non so cm passare a a vettInt

grazie mille a chiunque collabori

cionci
24-12-2008, 09:40
che roba è questa qui ? int vettInt*; :confused:

agente mm8
24-12-2008, 10:10
lol