salve ho questo codice:

codice:
#include <stdio.h>
#include <stdlib.h>
#define DIM_LOC 3
#define N_MAX 10


int
main (void)
{ 
int vett_masse[N_MAX];
int mat[N_MAX][DIM_LOC]; 
FILE *fp; 
int f,n,i; 
char s [30]; 
float totmasse = 0;
float cx = 0, c1 = 0, cy = 0, c2 = 0, cz = 0, c3= 0;

/* Apri il file che contiene i dati */
     if(( fp = fopen ("points.dat","r")) == NULL)
{ 
          printf("\nNon Posso aprire il file.\nFile mancante nella directory.\n"); 
     }else
{ 

/* Leggi la prima riga (n = numero di elementi) */
   fgets (s,30,fp); 
   sscanf (s,"%d",&n); 


/* Ciclo per stampare la matrice della locazione*/
 printf    (" Locazione:\n");
 
    for (f=0;f<n;f++) 
{ 
   fgets (s,30,fp); 
   sscanf (s,"%d %d %d %d\r\n", &mat[f][0],&mat[f][1],&mat[f][2],&vett_masse[f]); 
           
   printf    ("               %d %d %d \n\n", mat[f][0],mat[f][1],mat[f][2]);
 
     }
   
   printf    (" Masse:\n\n");
     /* Ciclo per stampare la colonna delle masse */     
     for (f=0;f<n;f++) 
{ 
   printf    ("               %d\n\n", vett_masse[f]);
      
      totmasse = totmasse + vett_masse[f];
     }  
       
     /* Stampare il numero */
   printf    (" n:\n               %d\n\n", n);
 
     for (f=0;f<n;f++)
{
	c1=c1 + (vett_masse[f] * mat[f][0]);
	c2=c2 + (vett_masse[f] * mat[f][1]);
	c3=c3 + (vett_masse[f] * mat[f][2]);
     }
    
    cx = (1/totmasse)*(c1);
    cy = (1/totmasse)*(c2);
    cz = (1/totmasse)*(c3);
    
    printf("IL CENTRO DI GRAVITA E' C(%.3f, %.3f, %.3f)\n\n" , cx, cy, cz );   
   
}/*chiude l'else*/

system("pause");
return(0);
}

dovrei creare 3 funzioni ovvero dividere il programma in 3:
la prima "get" la quale prende il file di inpute il massimo valore di n come parametri e inserisce inserisce l'array bidimensionale(mat) come parametro di output e l'array monodimensionale(vett_masse) come parametro di output. ritorna come valore della funzione il valore attuale della n.

grazie mille a colui che mi risponderà