ciao a tutti, ho il seguente esercizio:
crea una lista casuale di soli caratteri: A G V T, con un metodo DNAGen che dato un numero k restituisce una sequenza casuale.
il codice che ho scritto funziona ma nel momento in cui vado a compilare ed eseguire mi fa un errore. Ma non riesco a capire dov'è che sbaglio
codice:
#include <stdio.h>
#include <stdlib.h>
struct elemento{
char info;
struct elemento *next;
};
/*creazione casuale di A G V T*/
char random_char() {
char n = rand() % 4;
switch(n) {
case 0 : return 'A';
case 1 : return 'G';
case 2 : return 'C';
case 3 : return 'T';
default: return 'T';
}
return n;
}
/*creazione di una lista di lunghezza k con elementi casuali*/
struct elemento *DNAGen(int k){
struct elemento *p;
char h;
int i;
for(i=0; i<k; i++){
p=(struct elemento*)malloc(sizeof(struct elemento));
h=random_char();
p->info=h;
p=p->next;
}
p->next=NULL;
return p;
}
void stampa(struct elemento *p){
printf("Lista : ");
while(p!=NULL){
printf("%c",p->info);
printf("-->");
p=p->next;
}
printf("\nFINE");
}
main(){
struct elemento *f;
f=DNAGen(5);
stampa(f);
system("PAUSE");
}
mi potete dare una mano? grazie mille