この関数で実行時にエラーが発生しました。
void pre_filter_Computations(double **radius,double **theta,int cols,int rows){
double x[cols],y[rows];
double X[cols][rows], Y[cols][rows];
double epsilon=0.0001;
printf("Entering prefilter function\n");
for(int i=0;i<cols*2;i++){
x[i]=((double)(i-cols)/2/((double)cols/2;
}
...
これを for ループに変更する必要がありました。プロジェクトを実行して変更する前に、関数に出入りします。しかし、ループでエラーが発生したため、それを変更する必要がありました。もう一度実行すると、関数に入ることができません。デバッグ 一時停止シグナル SIGSEGV があります: 印刷行で関数に入る前にセグマンテーション違反!
シータと半径について:
double** radius, **theta;
raidus=(double**)malloc(sizeof(double*)*rows);
for(int i=0;i<rows;i++);
radius[i]=(double*)malloc(sizeof(double)*cols);
theta=(double**)malloc(sizeof(double*)*rows);
for(int z=0;z<rows;z++);
theta[z]=(double*)malloc(sizeof(double)*cols);
誰かがエラーの場所を理解していますか?