Ir ao conteúdo
  • Cadastre-se

Ajuda com multiplicação de matriz em C


btmvdr

Posts recomendados

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;
}

Link para o comentário
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.

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!