Ciao, sono nuovo del forum e vorrei chiedervi un aiuto, devo fare il programma descritto da titolo, in particolare devo implementare due funzioni, una che genera l'array e l'altra che fa la somma degli elementi dell'array. Ma non riesco a farlo funzionare, ecco il codice:

codice:
#include <stdio.h>

int genera_array(int n){
    int i, a[n];
    for(i=0;i<n;i++){
       printf("a[%d] = ", i);
       scanf("%d", &a[i]);
    }
}

int somma_array(int a[], int n ) {
    int i, sum = 0;
    for( i = 0; i < n; i++ )
       sum += a[i];
    return sum;
}

int main( void ){
    int num, vett;
    printf("Generazione di un'array: ");
    scanf("%d", &num);
    vett = genera_array(num);
    somma_array( vett , num );
}
In particolare mi da questi due errori :

"SommaArray.c:23:2: warning: passing argument 1 of ‘somma_array’ makes pointer from integer without a cast [enabled by default]
somma_array( vett , num );
^
SommaArray.c:11:5: note: expected ‘int *’ but argument is of type ‘int’
int somma_array(int a[], int n) { "
^

Qualcuno può aiutarmi?