Kann mir bitte jemand sagen, warum ich hier einen Segmentierungsfehler habe?C Segmentation Fault ohne Angabe von Gründen
float element(float** mat,int k, int l, int block_size){
int i_start=k*block_size;
int i_end=(k+1)*block_size-1;
int j_start=l*block_size;
int j_end=(l+1)*block_size-1;
float somma=0;
int c=0;
float media=0;
for(;i_start<=i_end;i_start++){
for(;j_start<=j_end;j_start++){
somma+=mat[i_start][j_start];
c++;
}
}
media=somma/c;
return media;}
Mat* matrixScale(Mat* m, int block_size) {
Mat* new=(Mat*) malloc(sizeof(Mat));
new->rows=m->rows/block_size;
new->cols=m->cols/block_size;
new->row_ptrs=(float**) malloc(new->rows*sizeof(float*));
int i,j,z;
for(z=0;z<new->rows;z++)
new->row_ptrs[z]=(float*) calloc(new->cols,sizeof(float));
for(i=0;i<m->rows;i++){
for(j=0;j<m->cols;j++){
new->row_ptrs[i][j]=elements(m->row_ptrs,i,j,block_size);
}
}
return new;}
Ich versuchte mit einem Debugger, aber es sagt nur, dass das Problem innerhalb der Elementfunktion ist.
Markieren Sie die Frage mit {c}, um weitere Helfer zu finden. –