rendered paste bodyint matriz_do_arquivo(const char *fname, int **m, int *i, int *j){ FILE *fp; int k, n; fp = fopen(fname, "r"); if(!fp) return 0; fscanf(fp, "%d%d", i, j); m = aloca_matriz(*i,*j); for(k=0; k < (*i); k++) for(n=0; n < (*j); n++) { int err = fscanf(fp, "%d", &m[k][n]); if(err == 0) return 0; } fclose(fp); return 1;}int **aloca_matriz(int i, int j){ int **mat, k; mat = (int**) calloc(i, sizeof(int*)); for(k=0; k<j; k++) { mat[k] = (int *) calloc(j, sizeof(int)); } return mat;}void libera_matriz(int **mat, int i, int j){ int k; for(k=0; k<j; k++) { free(mat[k]); } free(mat);}int main(){ int **m, i, j; matriz_do_arquivo("grafo", m, &i, &j); printf("%d\n", m[0][3]); libera_matriz(m, i, j); return 0;}