Valia grazie mille dell'aiuto, era proprio quello che mi fregava. Ora è sorto un ulteriore problema, con la funzione process_vector(.....) dovrei teoricamente, e dico teoricamente perchè non me lo fa, eliminare gli zeri dal vettore, la funzione giù scritta è il secondo modo che mi sono inventato per eliminarlo ma non funziona...


codice:
* Esercitazione del 23/05/2011
Corso di Elementi di Informatica
Ing. Aerospaziale (E-Z)
Prof. Vincenzo Moscato
*/

// Preambolo

// Direttive di compilazione
// Include librerie e definizione costanti
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 50
#define M 100

// Definizione del tipo Vettore e Stringa per array di reali e caratteri
typedef double Vettore[N];
typedef char Stringa[M];

// Prototipi delle funzioni
void read_vector(Vettore v, int* n, Stringa nome_file);
void print_vector(Vettore v, int n);
double max(Vettore v,int n);
double min(Vettore v,int n);
double mean(Vettore v, int n);
double var(Vettore v, int n);
int count_null(Vettore v,int n);
void process_vector(Vettore v, int n1, int* n2);
void save_vector(Vettore v, int n, Stringa nome_file);


void read_vector(Vettore v, int *n, Stringa nome_file)
{
    register int i;
    FILE *fp;
    int ret;
    fp=fopen(nome_file, "r");



    if(fp==NULL)
        printf("Errore nell'apewrtura del file.");
    else
    {
        ret=fscanf(fp, "%d", n);
        if(ret!=EOF)
        {
            //printf("\nNumero elementi vettore: %d \n", *n);                               Ricorda di eliminare riga a salvataggio compiuto......stronzoneeeeeeeeeeee
            if(*n>0)
            {
                for(i=0; i<*n; i++)
                {
                    fscanf(fp, "%lf", &v[i]);
                }
            }
        }
        else
            printf("\nIl file e' vuoto!!!!\n");

        fclose(fp);
    }
}

void print_vector(Vettore v, int n)
{
    register int i;

    printf("[");
    for(i=0;i<n;i++)
    {
        if(i<(n-1))
            printf("%lf,", v[i]);
        else
            printf("%lf", v[i]);
    }
    printf("]\n");
}

double max(Vettore v, int n)
{
    register int i;
    double max=v[0];

    for(i=0;i<n;i++)
    {
        if (v[i]>max)
            max=v[i];
    }
    return max;
}

double min(Vettore v, int n)
{
    register int i;
    double min=v[0];

    for(i=0;i<n;i++)
    {
        if (v[i]<min)
            min=v[i];
    }

    return min;
}


double mean(Vettore v, int n)
{
    register int i;
    double somma=0, media;

    for(i=0; i<n; i++)
    {
        somma+= v[i];
    }
    media=(somma/n);

    return media;
}

double var(Vettore v, int n)
{
    register int i;
    double somma=0, var;

    for(i=0; i<n; i++)
    {
        somma+= pow((v[i]-mean(v, n)), 2);
    }

    var= (somma/n);
    return var;
}

int count_null(Vettore v,int n)
{
    register int i;
    int somma_nulli=0;

    for(i=0;i<n;i++)
    {
        if(v[i]==0)
        {
            somma_nulli+=1;
        }
    }

    return somma_nulli;

}

void process_vector(Vettore v, int n1, int* n2)
{
    register int i, j;
    int z=0, posiz;

    for(i=0; i<n1; i++)
    {
        if( v[i] == 0)
        {
            z++;
            posiz=i;
            printf("\t%d\t", posiz);
        }
        else
            printf("caxxo vuoi");

        for(j=posiz+1;  j<n1; j++)
        {
            v[j-1]=v[j];
        }
    }
    *n2= (n1 - z);
    printf("\n%d, %d, %d\n", *n2, n1, z);
}

int main()
{
    Vettore magn, grav;
    Stringa filename, filename2;
    int n, m, j;

    printf("Inserire il nome del file contenente i valori dei campi magnetici: \n");
    scanf("%s", &filename);

    read_vector(magn, &n, filename);

    printf("Inserire il nome del file contenente i valori dei campi gravitazionali: \n");
    scanf("%s", &filename2);

    read_vector(grav, &m, filename2);

    printf("I valori dei campi magnetici e gravitazionali sono rispettivamente: \n\n");

    printf("Vet_magnetici: ");
    print_vector(magn,n);
    printf("\nVet_gravitazionali: ");
    print_vector(grav,m);


    printf("Il minimo e il massimo valore dei campi gravitazionali sono rispettivamente: \n %lf \t %lf \n", min(magn, n), max(magn, n));

    printf("Gli elementi nulli presenti nel campo magnetico/gravitazionale sono rispettivamente: %d \t %d\n", count_null(magn, n), count_null(grav, m));

    process_vector(grav, m, &j);
    print_vector(grav, j);



    system("PAUSE");
    return 0;
}
grazie mille per l'aiuto