16/03/10 16:56
baxy
Ciao ragazzi sono un nuovo utente... Premetto che sono anche un principiante nel mondo della programmazione, quindi sarei grato se qualche utente possa aiutarmi.
Questo è il mio piccolo programmino per caricare un vettore in maniera random ed allocarlo in memoria dinamicamente. Il problema che non funziona sapreste mica dirmi dove stò sbagliando...??? grazie
int My_carica (int dim)
{
int i;
int *vet = malloc (dim*sizeof(int));
for(i=0;i<dim;i++)
vet[i]=1+rand()%100;
return *vet;
}
int main()
{
int n,*A,i;
scanf("%d",&n);
*A=My_carica(n);
for(i=0;i<n;i++)
printf("%d",A[i]);
}
Ultima modifica effettuata da baxy 16/03/10 16:56
aaa
16/03/10 17:35
GuglielmoS
Allora la funzione My_carica deve restituire un vettore e non un intero.
Quindi così dovrebbe andare:
int* My_carica (int dim)
{
int i;
int *vet = (int*)malloc (dim*sizeof(int)); // cast del puntatore ritornato da malloc
for(i=0;i<dim;i++)
vet[i]=1+rand()%100;
return vet;
}
int main()
{
int n,*A,i;
scanf("%d",&n);
A=My_carica(n);
for(i=0;i<n;i++)
printf("%d",A[i]);
}
Ultima modifica effettuata da GuglielmoS 16/03/10 17:37
aaa