Pessoal, preciso de ajuda para alocar uma matriz de forma dinâmica. Segui vários tutoriais e está quase tudo dando certo, mas quando vou compilar dá um erro em relação ao tipo da função que eu criei para alocar a matriz dinamicamente.
->Na função main() eu criei um ponteiro para ponteiro do tipo float (float **mat), defini as entradas inteiras para linhas e colunas da matriz (l, c)
->chamo a funcao q aloca a matriz: mat=Alocar_matriz_real(l, c);
->a função para alocação está abaixo:
float **Alocar_matriz_real(int m, int n){
/* ponteiro para a matriz */
float **v;
int i,j; /* variável auxiliar */
/* aloca as linhas da matriz */
v=(float**)calloc(m, sizeof(float*)); /* Um vetor de m ponteiros para float */
if (v == NULL) {
printf("** Erro: Memoria Insuficiente **");
return (NULL);
}
/* aloca as colunas da matriz */
for ( i = 0; i < m; i++ ) {
v = (float*)calloc(n, sizeof(float)); /* m vetores de n floats */
if (v == NULL) {
printf("** Erro: Memoria Insuficiente **");
return (NULL);
}
}
Pergunta
Diegovix29
Pessoal, preciso de ajuda para alocar uma matriz de forma dinâmica. Segui vários tutoriais e está quase tudo dando certo, mas quando vou compilar dá um erro em relação ao tipo da função que eu criei para alocar a matriz dinamicamente.
->Na função main() eu criei um ponteiro para ponteiro do tipo float (float **mat), defini as entradas inteiras para linhas e colunas da matriz (l, c)
->chamo a funcao q aloca a matriz: mat=Alocar_matriz_real(l, c);
->a função para alocação está abaixo:
float **Alocar_matriz_real(int m, int n){
/* ponteiro para a matriz */
float **v;
int i,j; /* variável auxiliar */
if (m < 1 || n < 1) { /* verifica parametros recebidos */
printf ("** Erro: Parametro invalido **\n");
return (NULL);
}
/* aloca as linhas da matriz */
v=(float**)calloc(m, sizeof(float*)); /* Um vetor de m ponteiros para float */
if (v == NULL) {
printf("** Erro: Memoria Insuficiente **");
return (NULL);
}
/* aloca as colunas da matriz */
for ( i = 0; i < m; i++ ) {
v = (float*)calloc(n, sizeof(float)); /* m vetores de n floats */
if (v == NULL) {
printf("** Erro: Memoria Insuficiente **");
return (NULL);
}
}
return (v);
}
erro: redefinition of Alocar_matriz_real
Alguém pode me ajudar a resolver isso?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.