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

Multiplicação de Matrizes

Recommended Posts

Pessoal meu professor nos mandou fazer um programa que multiplique duas matrizes escolhidas pelo usuário. Fiz o programa certinho até a parte da multiplicação. Não sei fazer porque faltei a aula que ele ensinou a multiplicar.

A parte da multiplicação não funciona, tentei adaptar a partir de outros códigos que vi pela internet(não entendi nada), mas não deu certo. Outra coisa o programa ta considerando tipo linha 0 coluna 1, linha 1 coluna 0. Como faço pra ele contar a partir do 1

Código abaixo

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int matriz1[20][20];
int matriz2[20][20];
int matriz3[20][20];
int linhas1;
int linhas2;
int colunas1;
int colunas2;
int x=0;
int y=0;
int k=0;

// matriz1
printf("insira o numero de linhas da matriz 1\n");
scanf("%d", &linhas1);
printf("\ninsira o numero de colunas da matriz 1\n");
scanf("%d", &colunas1);

for (x=0; x<=linhas1; x++){
for (y=0; y<=colunas1; y++){
printf("\ninsira o valor da linhas %d coluna %d\n", x, y);
scanf("%d", &matriz1[x][y]);
}
}

printf("\na matriz declarada foi:\n\n");
for (x=0; x<=linhas1; x++){
for (y=0; y<=colunas1; y++){
printf("%d ", matriz1[x][y]);
}
printf("\n");
}


// matriz2

printf("\ninsira o numero de linhas da matriz 2\n");
scanf("%d", &linhas2);
printf("\ninsira o numero de colunas da matriz 2\n");
scanf("%d", &colunas2);

for (x=0; x<=linhas2; x++){
for (y=0; y<=colunas2; y++){
printf("\ninsira o valor da linhas %d coluna %d\n", x, y);
scanf("%d", &matriz2[x][y]);
}
}

printf("\na matriz declarada foi:\n\n");
for (x=0; x<=linhas2; x++){
for (y=0; y<=colunas2; y++){
printf("%d ", matriz2[x][y]);
}
printf("\n");
}

// multiplicação
for (x=0; x<=linhas1; x++){
for (y=0; y<=colunas1; y++){
for (k=0; k<=linhas1; k++){
matriz3[x][y] = matriz3[x][y] + (matriz1[x][k]*matriz2[y][k]);
}
}
}


printf("\na multiplicacao resulta em:\n");
for (x=0; x<=linhas1; x++){
for (y=0; y<=colunas1; y++){
printf("%d ", matriz3[x][y]);

}
printf("\n");
}


system("pause");
return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

// multiplicação
for (x=0; x<=linhas1; x++){
for (y=0; y<=colunas1; y++){
for (k=0; k<=linhas1; k++)/// pra que essa linha ?'
{
matriz3[x][y] = matriz3[x][y] + (matriz1[x][k]*matriz2[y][k]);/// tira essa matriz3[x][y] +, ta errado, multiplicação é só linha*coluna '-'

Se quiser posso colocar o meu codigo que tenho de multiplicação de matriz 3x3.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara pode só consertar essa parte da multiplicação sem mexer nas outras partes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, vou da uma olhada aqui, teu código ta muito doido lol

Vou ver se consigo, o que você precisa é que o usuario vai falar quero multiplicar 2 matrizes.

Mas matriz só tem multiplicação A[2][3] x B[3][2]. O numero de colunas de A tem que ser mesmo de linhas de B. Nesse exemplo assim vai da uma Matriz C 2x2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu sei que tem que ser quadrada, mas mesmo eu colocando uma quadrada n da certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sabendo o formato da matriz produto com a dica citada acima, encontre cada elemento dela por meio desta fórmula matemática F5Rua4D.gif:

HZM0OhA.gif

Espero ter ajudado GbhmuXl.gif.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
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

×