Violación de segmento al crear matriz
Publicado por jodido (1 intervención) el 26/04/2014 19:01:05
Buenas tardes!
A ver si alguien me puede dar algo de luz a esta gran oscuridad que se cierne sobre mi... Llevo la tarde con esto y soy incapaz de verlo... El caso es que me sale una violación de segmento y no soy capaz de arreglarlo.El trozo del código es bien sencillo:
void crea_matriz_Q_y_R (float ***Q, float ***R)
{
int i,j;
float **matriz_aux;
*R=(float **)malloc(n*sizeof(float *)); //creamos as filas
matriz_aux=*R;
for(i=0;i<n;i++){
*matriz_aux=(float *)malloc(m*sizeof(float));//crea as columnas
*matriz_aux++;
}
*Q=(float **)malloc(n*sizeof(float *)); //creamos as filas
matriz_aux=*Q;
for(i=0;i<n;i++){
*matriz_aux=(float *)malloc(m*sizeof(float));//crea as columnas
*matriz_aux++;
}
}
void carga_matriz_Q (float **Q)
{
FILE *fichero;
int i,j;
;
fichero=fopen(entrada[1],"r");
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
fscanf(fichero, "%f", Q[i][j]);
}}
fclose(fichero);
}
A ver si alguien me puede dar algo de luz a esta gran oscuridad que se cierne sobre mi... Llevo la tarde con esto y soy incapaz de verlo... El caso es que me sale una violación de segmento y no soy capaz de arreglarlo.El trozo del código es bien sencillo:
void crea_matriz_Q_y_R (float ***Q, float ***R)
{
int i,j;
float **matriz_aux;
*R=(float **)malloc(n*sizeof(float *)); //creamos as filas
matriz_aux=*R;
for(i=0;i<n;i++){
*matriz_aux=(float *)malloc(m*sizeof(float));//crea as columnas
*matriz_aux++;
}
*Q=(float **)malloc(n*sizeof(float *)); //creamos as filas
matriz_aux=*Q;
for(i=0;i<n;i++){
*matriz_aux=(float *)malloc(m*sizeof(float));//crea as columnas
*matriz_aux++;
}
}
void carga_matriz_Q (float **Q)
{
FILE *fichero;
int i,j;
;
fichero=fopen(entrada[1],"r");
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
fscanf(fichero, "%f", Q[i][j]);
}}
fclose(fichero);
}
Valora esta pregunta


0