In questo esercizio viene utilizzata una struct per racchiudere assieme un vettore dinamico e la sua dimensione (lenght). Il metodo di passaggio delle variabili è identico al precedente.
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
typedef struct{
int* v; /*vettore dinamico*/
unsigned lenght; /*lunghezza vettore*/
} vector;
vector crea(vector vd){
vd.v = (int*) malloc(vd.lenght * sizeof (int));
return vd;
}
void riempi(vector vd){
int i;
for(i=0;i<vd.lenght;i++)
vd.v[i] = rand();
}
void stampa(vector vd){
int i;
for(i=0;i<vd.lenght;i++){
if(i>=0 && i<vd.lenght-1)
printf("%d, ", vd.v[i]);
else
printf("%d.", vd.v[i]);
}
}
int main(void){
vector vd;
vd.lenght = 10;
vd = crea(vd);
riempi(vd);
stampa(vd);
}
Nessun commento:
Posta un commento