L'ho fatto ma non va ! Ho messo il main in un file main.c poi ho aggiunto un file che ho chiamato header.h dove ci ho messo la dichiarazione dei prototipi, e la funzione distanza in un altro file chiamato distanza.c... Help me... x(
L'ho suddiviso così : questo è il main.c
codice:
int main () {

   //DICHIARAZIONE VARIABILI


   int dim=30;              //DIMENSIONE SCACCHIERA - PUO' ESSERE MODIFICATO
   int numOggetti=50;       //NUMERO MASSIMO DI OGGETTI - PUO' ESSERE MODIFICATO
   int scacchiera[dim][dim];//MATRICE CON UNA DIMENSIONE PRECEDENTEMENTE DEFINITA
   int i;                   //INDICE RIGA
   int j;                   //INDICE COLONNA
   double dist[numOggetti];  //VARIABILE PER LA DISTANZA DEGLI OGGETTI DAL CENTROIDE
   float maxdist=0;         //VARIABILE CONTENENTE LA DISTANZA MASSIMA
   int imax,jmax;           //INDICI PER LA POSIZIONE DELL'OGGETTO CON DISTANZA MASSIMA
   float mindist=dim;       //VARIBILE CONTENENTE LA DISTANZA MINIMA
   int imin,jmin;           //INDICI PER LA POSIZIONE DELL'OGGETTO CON DISTANZA MINIMA
   int cont=0;                //CONTA IL NUMERO DI OGGETTI
   int maxOggetti=numOggetti; //VARIABILE USATA PER IL RIEMPIMENTO DELLA MATRICE
   int xC=0;                //ORDINATA DEL CENTROIDE
   int yC=0;                //ASCISSA DEL CENTROIDE
   char onBox='X';          //CASELLA OCCUPATA - PUO' ESSERE MODIFICATO
   char offBox=' ';         //CASELLA LIBERA - PUO' ESSERE MODIFICATO
   char centroide='C';      //CENTROIDE - PUO' ESSERE MODIFICATO
   float call;
   srand(rand()+clock()+time(NULL)); //FUNZIONE PER LA GENERAZIONE DI OGGETTI CASUALI NELLA SCACCHIERA CON


   //RIEMPIMENTO SCACCHIERA


   for(i=0;i<dim;i++)
       for(j=0;j<dim;j++)
           scacchiera[i][j]=0;
   while(maxOggetti>0)
       {
       for(i=0;i<dim;i++)
           for(j=0;j<dim;j++)
               if((scacchiera[i][j]!=1) && (maxOggetti>0) && (rand()%1000==0))
               {
                       scacchiera[i][j]=1;
                       maxOggetti=maxOggetti-1;
               }
       }


   //CALCOLO IL CENTROIDE


   for(i=0;i<dim;i++)
       for(j=0;j<dim;j++)
           if(scacchiera[i][j])
               {
               xC+=j;
               yC+=i;
               }
   xC=xC/numOggetti;
   yC=yC/numOggetti;


   //VISUALIZZAZIONE DELLA SCACCHIERA SENZA IL CENTROIDE


   printf("  Scacchiera senza il centroide\n");


   printf("%c",201);         //-------------------------
   for(i=0;i<dim;i++)       //                        -
        printf("%c",205);     //DISEGNA BORDO SUPERIORE -
        printf("%c",187);         //                        -
        printf("\n");             //-------------------------
   for(i=0;i<dim;i++)
       {
       printf("%c",186);     //DISEGNA BORDO LATERALE SINISTRO
       for(j=0;j<dim;j++)
       {


               if(scacchiera[i][j])
                   printf("%c",onBox);
               else
                   printf("%c",offBox);
        }
       printf("%c",186);     //DISEGNA BORDO LATERALE DESTRO
       printf("\n");
    }
   printf("%c",200);         //-------------------------
   for (i=0;i<dim;i++)  //                        -
       printf("%c",205);     //DISEGNA BORDO INFERIORE -
       printf("%c",188);         //                        -
       printf("\n");             //-------------------------


   //VISUALIZZAZIONE DELLA SCACCHIERA CON IL CENTROIDE


   printf("\n  Scacchiera con il centroide\n");


   printf("%c",201);         //-------------------------
   for(i=0;i<dim;i++)       //                        -
        printf("%c",205);     //DISEGNA BORDO SUPERIORE -
        printf("%c",187);         //                        -
        printf("\n");             //-------------------------
   for(i=0;i<dim;i++)
       {
       printf("%c",186);     //DISEGNA BORDO LATERALE SINISTRO
       for(j=0;j<dim;j++)
       {
           if((j==xC) && (i==yC))
               printf("%c",centroide);
           else {
               if(scacchiera[i][j])
                   printf("%c",onBox);
               else
                   printf("%c",offBox);
                }
       }
       printf("%c",186);     //DISEGNA BORDO LATERALE DESTRO
       printf("\n");
   }
   printf("%c",200);         //-------------------------
   for (i=0;i<dim;i++)  //                        -
       printf("%c",205);     //DISEGNA BORDO INFERIORE -
       printf("%c",188);         //                        -
       printf("\n");             //-------------------------


   //VISUALIZZAZIONE DISTANZE


    distanze(dim,scacchiera,xC,yC,dist);


    for(i=0;i<numOggetti;i++)
    {


       for(j=0;j<numOggetti;j++)
       {


        if(dist[i]>maxdist)
            {
                    maxdist=dist[i];
                    imax=i; jmax=j;
            }
        else if(dist[i]<mindist)
            {
                    mindist=dist[i];
                    imin=i; jmin=j;
            }
        }
    }
            printf("\n\nDistanza massima/minima : %.2f[posizione %d,%d]/%.2f[posizione %d,%d]\n",maxdist,imax,jmax,mindist,imin,jmin);
}

Questo invece la function:
codice:
void distanze(int dim,int scacchiera[dim][dim],int xC,int yC,double dist[]){
    int cont=0;
    int i,j;
    //VISUALIZZAZIONE DISTANZE
    for(i=0;i<dim;i++)
    {
        for(j=0;j<dim;j++)
        {
            if(scacchiera[i][j])
            {
                dist[cont]=sqrt(pow((xC-i),2)+pow((yC-j),2)); //FORMULA DISTANZA DAL CENTROIDE
                cont++;


                //printf("\nOggetto n%d di posizione %d,%d distanza : %lf",cont,i,j,dist[cont]);
                printf("Oggetto N%c %d di posizione %d,%d distanza = %.2lf\n",248,cont,i,j,dist[cont-1]);
            }
        }
    }
    return 0;
}
e infine l'header :

codice:
#ifndef HEADER_H_INCLUDED#define HEADER_H_INCLUDED
#include <math.h>   //LIBRERIA CONTENENTE LA FUNZIONE POW
#include <stdio.h>  //LIBRERIA CONTENETE LE FUNZIONI PRINTF/SCANF
#include <stdlib.h> //LIBRERIA CONTENETE LA FUNZIONE RAND
#include <time.h>   //CONTIENE LA FUNZIONE CLOCK
void distanze(int dim,int scacchiera[dim][dim],int xC,int yC,double dist[]);




#endif // HEADER_H_INCLUDED
Mi da errore sulla srand nel main ...