Ir ao conteúdo
  • Cadastre-se

Multiplicação de Matrizes


Asteca94

Posts recomendados

Boa Tarde,

Estou com uma dúvida em relação a um exercício de multiplicação de matrizes.

Procurei aqui no fórum, até ache tópicos nesse assunto, mas não consegui entender alguns e outros não saciaram minha dúvida..

To usando o programa Dev C++

Eu fiz o programa, porém na hora de calcular a matriz resultante dá tudo 0 quando eu imprimo.


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

int main()
{
float m1[50][50], m2[50][50], m3[50][50] = {0};
int i1, j1, i2, j2;
int i, j;
printf("PRIMEIRA MATRIZ");
printf("\nDigite o numero de linhas de sua matriz: ");
scanf("%d",&i1);
printf("Digite o numero de colunas de sua matriz: ");
scanf("%d",&j1);
system("cls");
printf("SEGUNDA MATRIZ6");
printf("\nDigite o numero de linhas de sua matriz: ");
scanf("%d",&i2);
printf("Digite o numero de colunas de sua matriz: ");
scanf("%d",&j2);
system("cls");
if(j1==i2)
{
printf("PRIMEIRA MATRIZ\n");
for( i = 0; i < i1; i++ )
{
for( j = 0; j < j1; j++ )
{
printf(" Digite o valor do elemeto da %i linha e da coluna %i: ",i+1,j+1);
scanf("%f",&m1[i][j]);
}
}
system("cls");
printf("SEGUNDA MATRIZ\n");

for( i = 0; i < i2; i++ )
{
for( j = 0; j < j2; j++ )
{
printf(" Digite o valor do elemeto da %i linha e da coluna %i: ",i+1,j+1);
scanf("%f",&m1[i][j]);
}
}
system("cls");

for( i = 0; i < i1; i++)
{
for( j = 0; j < j2; j++)
{
for( int k = 0; k < j1; k++)
{
m3[i][j] += m1[i][k] * m2[k][j];
}
}
}
printf("\t\tMATRIZ RESULTANTE");
for( i = 0; i < i1 ; i++ )
{
printf("\n\t\xb3");
for( j = 0; j < j2 ; j++ )
printf("\t%.1f",m3[i][j]);
printf("\t\xb3");
}
}
printf("\n");
system("pause");
return 0;
}

Alguém sabe ql o problema??

Obrigado.

Link para o comentário
Compartilhar em outros sites

Sulera,

Consegui fazer terminar o programa. O erro não estava nesse laço..

Por estupidez minha, no laço em que o programa lê a segunda matriz, na verdade ele estava lendo a primeira matriz. Então na hora da multiplicação sempre dava 0, pois a segunda matriz tinha 0 de valor x=

Obrigado.

Abraços

Link para o comentário
Compartilhar em outros sites

Sulera,

Consegui fazer terminar o programa. O erro não estava nesse laço..

Por estupidez minha, no laço em que o programa lê a segunda matriz, na verdade ele estava lendo a primeira matriz. Então na hora da multiplicação sempre dava 0, pois a segunda matriz tinha 0 de valor x=

Obrigado.

Abraços

Olá. Fico feliz que tenha conseguido, porém fiz uma multiplicação manual de matrizes e verifiquei que o laço(da forma implementada acima, no seu código) não gera o resultado correto do produto das matrizes. O meu último post acima corrige esse problema.

Até mais.

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!