quitZAUMMM 18 Denunciar post Postado Julho 2, 2008 cara soh um teste, declara sua matriz assim: int **m3; Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Julho 2, 2008 cara soh um teste, declara sua matriz assim: int **m3; Agora funciona até a hora de mostrar o resultado da multiplicação. Quanto vai mostrar o resultado da falha de segmentação (core dumped) Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 2, 2008 Quit,ele vai precisar alocar espaco manualmente se declarar como ponteiro. Dá falha de segmentacao porque você esta acessando endereco que nao pode. Olha a tua ultima linha: printf("\nA multiplicação é:\n%d",m3[j]); você está acessando posicao invalida de memoria....i e j saíram do for e não estao mais entre 0 e N-1... Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Julho 2, 2008 bom entaum declare sua matriz com um tamanho, pq você nem inicializa as variaveis q usa como linha e coluna qnd declara sua matriz! e para exibir a matriz use um for! Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Julho 2, 2008 Quit,ele vai precisar alocar espaco manualmente se declarar como ponteiro. Dá falha de segmentacao porque você esta acessando endereco que nao pode. Olha a tua ultima linha: printf("\nA multiplicação é:\n%d",m3[j]); você está acessando posicao invalida de memoria....i e j saíram do for e não estao mais entre 0 e N-1... Como eu devo fazer para imprimir o vetor da multiplicação? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 2, 2008 Do mesmo jeito que você lê. Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Julho 2, 2008 Do mesmo jeito que você lê. for(i=0; i<l1; i++) { for(j=0; j<c2; j++) { m3[i][j]=0; for(k=0; k<c1; k++) { m3[i][j]+= m1[i][k]*m2[k][j]; } } } } printf("\nA multiplicação é:\n%d",m3[i][j]); Qual o erro que há? Como deve ser Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 2, 2008 Eu ja falei o que é: você esta acessando posição ALEM do que você alocou p/ matriz porque I e J não estão entre 0 e N-1. você tem que fazer outro for pra imprimir a matriz.... Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Julho 2, 2008 Eu ja falei o que é: você esta acessando posição ALEM do que você alocou p/ matriz porque I e J não estão entre 0 e N-1. você tem que fazer outro for pra imprimir a matriz.... Ok. Mais como eu faço ? Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Julho 2, 2008 da mesma forma que le a matriz Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 2, 2008 Que foi o que eu falei... Compartilhar este post Link para o post Compartilhar em outros sites
Giovanni Ritchie 0 Denunciar post Postado Julho 3, 2008 Ai galera vamos parar de rodeios hehehehe...... for (i=0;i<n;i++) for(j=0;j<n;j++) printf("%d",mat[i][j]); /* so mais uma dica, aconselho sempre o uso de ponteiros quando tiver a usar estruturas de dados.....fui espero ter ajudado Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Julho 3, 2008 pq Giovanny? O que seria estrutura de dados? Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Julho 3, 2008 Ai galera vamos parar de rodeios hehehehe...... for (i=0;i<n;i++) for(j=0;j<n;j++) printf("%d",mat[i][j]); /* so mais uma dica, aconselho sempre o uso de ponteiros quando tiver a usar estruturas de dados.....fui espero ter ajudado Ai vlw Compartilhar este post Link para o post Compartilhar em outros sites
Giovanni Ritchie 0 Denunciar post Postado Julho 4, 2008 pq Giovanny? O que seria estrutura de dados? Quando falo estrutura de dado me refiro aos vectores, matrizes, pilhas,filas,listas,arvores e por ai fora.... Aconselho o uso de ponteiros justamente porque com elas nós precisamos a principio determinar um determinado espaço na memoria, espaço esse que muitas vezes nao usamos.por exemplo se nós declarar um vetor como vet[100], muita das vezes só usamos 10 e os outros noventa fica no disperdicio, ja se fizermos *vet podemos usar funcoes de alocacao de modos a alocar na memoria apenas o espaço que vamos precisar usar. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Julho 4, 2008 A pergunta foi meio besta mas não tenho noção de estruturas de dados, o que importa é que intendi o motivo de usar os ponteiros nesses casos :D Compartilhar este post Link para o post Compartilhar em outros sites