Estou fazendo essa funcao aloca , para alocar uma matriz, o codigo compila mas na parte onde eu irei digitar os valores , quando o codigo chega no ponto onde o numero de linhas é igual ao numero de colunas , o programa fecha de modo forcado.
ex: matrix 2x2 , ao chegar no elemento b[1][1] , ele sai
gostaria de saber se alguém tem alguma ideia de que possa ser o problema
Pergunta
ericktb
int aloca(int ***x,int n,int m){ int i,j; *x = malloc(sizeof(x)*n); if(*x){ for(i=0;i<m;i++){ *x[i] = malloc(sizeof(int)*m); if(!*x[i]){ break; } } if(i<m){ for(j=0;j<=i;j++){ free(*x[j]); } free(*x); *x=NULL; } } return *x?1:0; } int main(){ int **b,x,y,i,j; x=2; y=2; if(aloca(&b,x,y)){ for(i=0;i<x;i++){ for(j=0;j<y;j++){ printf("m[%d][%d]:",i,j); scanf("%d",&b[i][j]); } } } getche(); }Tudo bom?
Estou fazendo essa funcao aloca , para alocar uma matriz, o codigo compila mas na parte onde eu irei digitar os valores , quando o codigo chega no ponto onde o numero de linhas é igual ao numero de colunas , o programa fecha de modo forcado.
ex: matrix 2x2 , ao chegar no elemento b[1][1] , ele sai
gostaria de saber se alguém tem alguma ideia de que possa ser o problema
obrigado,
Editado por ericktbLink para o comentário
Compartilhar em outros sites
0 respostass 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.