Olá Pessoal, bom dia.
Segue abaixo um link e duas funções para auxiliá-los na alocação das matrizes para o EP3.
http://www.ime.usp.br/~pf/algoritmos/aulas/aloca.html
//Alocação de matrizes - Autor: Paulo Feofiloff
//Aloca uma matriz de entradas reais com 'm' linhas por 'n' colunas.
double **aloca_matriz (int m, int n){
double **v; // ponteiro para a matriz
int i; // variavel auxiliar
if (m < 1 || n < 1) { // verifica parametros recebidos
printf ("** Erro: Parametro invalido **\n");
return (NULL);
}
// aloca as linhas da matriz
v = (double **) calloc (m, sizeof(double *));
if (v == NULL) {
printf ("** Erro: Memoria Insuficiente **");
return (NULL);
}
// aloca as colunas da matriz
for (i = 0; i < m; i++ ) {
v[i] = (double*) calloc (n, sizeof(double));
if (v[i] == NULL) {
printf ("** Erro: Memoria Insuficiente **");
return (NULL);
}
}
return (v); //retorna o ponteiro para a matriz
}
//Libera a memória alocada para uma matriz de 'm' linhas por 'n' colunas.
double **libera_matriz(int m, int n, double **v){
int i; /* variavel auxiliar */
if (v == NULL) return (NULL);
if (m < 1 || n < 1) { /* verifica parametros recebidos */
printf ("** Erro: Parametro invalido **\n");
return (v);
}
for (i=0; i<m; i++) free (v[i]); /* libera as linhas da matriz */
free (v); /* libera a matriz */
return (NULL); /* retorna um ponteiro nulo */
}
O último EP é bem tranquilo, mas não deixem para a última hora.
Abs