Olá pessoal...ninguém tem uma dica para me dar? Segue o código completo da função que estou chamando. Sempre dá erro na iteração k=49, na linha que coloquei em destaque...   float mlp1_teste(int nx, int nz, int ny){    FILE *fin;    AnsiString in;    double **x, *z, *y, **v, **w;    float lambda_z=0.001, lambda_y=0.001;    int s_real, s_esperada, i, j, k, acerto=0, ns, *se;    registro reg;    int ac[6]={0,0,0,0,0,0};     //********* aloca memoria para RNA    // abre arquivo de dadosm para teste da RNA    in= PATH + FEATURE + "teste.rna";    fin= fopen(in.c_str(),"rb");    fread(&ns,sizeof(int),1,fin);     // camada de entrada    x= new double *[ns];    for(i=0; i<ns; i++) x= new double [nx];    se= new int [ns];     for(i=0; i<ns; i++){      for(j=0; j<nx; j++) fread(&x[j],sizeof(double),1,fin);      fread(&se,sizeof(int),1,fin);    }//for i     fclose(fin);  fin=NULL;     // camada oculta    z= new double [nz];     // camada de saída    y= new double [ny+1];     // peso entre x e z    v= new double *[nx+1];    for(i=0; i<(nx+1); i++) v= new double [nz];     // peso entre z e y    w= new double *[nz+1];    for(i=0; i<(nz+1); i++) w= new double [ny+1];     // abre arquivo de pesos    in= PATH + FEATURE + "pesos.rna";    if((fin= fopen(in.c_str(),"rb"))==NULL) return -1;     // peso entre x e z    for(i=0; i<(nx+1); i++)       for(j=0; j<nz; j++) fread(&v[j],sizeof(double),1,fin);     // peso entre z e y    for(i=0; i<(nz+1); i++)       for(j=0; j<ny; j++) fread(&w[j],sizeof(double),1,fin);     // fecha arquivo de pesos    fclose(fin);  fin=NULL;     // teste da rede    for(k=0; k<ns; k++){        // saída da RNA       if(se[k]!=0) s_esperada=1;       else         s_esperada=0;        // calcula entrada da camada oculta       for(j=0; j<nz; j++){          z[j]= v[nx][j];          for(i=0; i<nx; i++) z[j]= z[j] + x[k]*v[j];       }// for j        // calcula a saída da camada oculta       for(j=0; j<nz; j++) z[j]= 1./(1.+exp(-lambda_z*z[j]));        // calcula entrada da camada de saída       for(j=0; j<ny; j++){          y[j]= w[nz][j];          for(i=0; i<nz; i++) y[j] = y[j] + z*w[j];       }// for j        // calcula a saída da camada de saída       for(j=0; j<ny; j++)   y[j]= 1./(1.+exp(-lambda_y*y[j]));        // saída real da RNA       for(j=0; j<ny; j++)          if(y[j]>0.5) s_real= 0;          else         s_real= 1;        // verifica se acertou       if(s_real==s_esperada){          acerto++;          ac[k%ns]++;       }    }//for k     // libera memória    for(i=0; i<ns; i++){ delete[] x;  x = NULL; }    delete[] x;    x = NULL;    delete[] se;  se = NULL;    delete[] z;    z = NULL;    delete[] y;    y = NULL;     for(i=0; i<(nx+1); i++){ delete[] v; v = NULL; }    delete[] v;    v = NULL;    for(i=0; i<(nz+1); i++){ delete[] w; w = NULL; }    delete[] w;    w = NULL;     return (float)(100*acerto)/ns; }