Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
btmvdr

[Resolvido] Ajuda com multiplicação de matriz em C

Recommended Posts

Uma matriz A de tamanho 10x10 e outra matriz B também 10x10. Na multiplicação de matrizes é preciso multiplicar cada elemento de uma linha da matriz por cada elemento presente na coluna da outra matriz.

Eu fiz desta maneira, mas não está dando certo, o que eu faço pra ela dar certo? Obrigado.

#include <stdio.h>
#include <stdlib.h>
main () {
int matrizA [10][10];
int matrizB [10][10];
int i, j,k,l,result; // i= linha, j = coluna, k =linha, l = coluna
for (i=0;i<10;i++){
for (j=0;j<10;j++){
printf("Digite um número pra matriz A:\n"); /
scanf("%d",&matrizA[i][j]); /
printf("\n");

}
}
for (k=0;k<10;k++){ /
for (l=0;l<10;l++){
printf("Digite um número pra matriz B:\n"); /
scanf("%d",&matrizB[k][l]);
printf("\n");

}
}
result=i*l;

printf("Multiplicao da matriz A por B = %d", result); /

system("pause");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>

int main ()
{
int matrizA[10][10], matrizB[10][10], matrizC[10][10];
int i,j; // i= linha, j = coluna

for (i=0;i<10;i++){
for (j=0;j<10;j++){
printf("Digite um numero pra matriz A:\n");
scanf("%d",&matrizA[i][j]);
printf("\n");

}
}
for (i=0;i<10;i++){
for (j=0;j<10;j++){
printf("Digite um numero pra matriz B:\n");
scanf("%d",&matrizB[i][j]);
printf("\n");

}
}

printf("Matriz C:\n\n");
for (i=0;i<10;i++)
{
for(j=0;j<10;j++)
matrizC[i][j]=(matrizA[i][j]*matrizB[i][j]);
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%5d",matrizC[i][j]);
printf ("\n\n");
}
system("Pause");
return 0;
}

Se quiser fazer um teste com matriz menor, só muda o os 10, por 3.

Mas fiz um teste aqui é deu certo. E outra coisa, você não precisava usar o k e l. Por isso os tirei da declaração.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
#include <stdlib.h>

int main ()
{
int matrizA[10][10], matrizB[10][10], matrizC[10][10];
int i,j; // i= linha, j = coluna

for (i=0;i<10;i++){
for (j=0;j<10;j++){
printf("Digite um numero pra matriz A:\n");
scanf("%d",&matrizA[i][j]);
printf("\n");

}
}
for (i=0;i<10;i++){
for (j=0;j<10;j++){
printf("Digite um numero pra matriz B:\n");
scanf("%d",&matrizB[i][j]);
printf("\n");

}
}

printf("Matriz C:\n\n");
for (i=0;i<10;i++)
{
for(j=0;j<10;j++)
matrizC[i][j]=(matrizA[i][j]*matrizB[i][j]);
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%5d",matrizC[i][j]);
printf ("\n\n");
}
system("Pause");
return 0;
}

Se quiser fazer um teste com matriz menor, só muda o os 10, por 3.

Mas fiz um teste aqui é deu certo. E outra coisa, você não precisava usar o k e l. Por isso os tirei da declaração.

Deu certinho, muito obrigado mesmo!! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×