Ir para conteúdo

POWERED BY:

Arquivado

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

Elis Regina

Arquivos e Multiplicação de matrizes

Recommended Posts

ola galera

 

é o seguinte, eu tenho que fazer um programa que leia 2 matrizes quadradas de ordem 3 e grave em um arquivo a multiplicação entre elas.

 

tenho duas duvidas: a primeira é como passar pra linguagem C a multiplicaçao das matrizes. Eu sei que a multiplicação é dada assim: multiplicando os elementos da primeira linha da matriz um com os elementos da primeira coluna da matriz dois, e por fim temos que ir somando, ooooook mas não está dando certo hunf....

 

e a segunda duvida é: como gravar o resultado em um arquivo??

 

Se puderem me ajudar. vou postar o que eu fiz e não ta dando certo:

#include <stdio.h>


int main()
{
	FILE*arquivo;
	
	int i,j,k;
	int A[3][3],B[3][3],c[3][3];

   arquivo=fopen("mult","w");
  
   for(i=0;i<3;i++)
   for(j=0;j<3;j++)
   {
	 printf("Digite o elemento A[%d][%d] \n",i,j);
	 scanf("%d",&A[i][j]);
   }
	for(i=0;i<3;i++)
   {
	for(j=0;j<3;j++)
	{
	printf("%d",A[i][j]);
	}
	 printf("\n");
   }
  
	 for(i=0;i<3;i++)
   for(j=0;j<3;j++)
   {
	 printf("Digite o elemento B[%d][%d] \n",i,j);
	 scanf("%d",&B[i][j]);
   }
   

  for(i=0;i<3;i++)
  {
	for(j=0;j<3;j++)
	{
	printf("%d",B[i][j]);
	}
	 printf("\n");
  }
  c[i][j]=c[i][j]+A[i][k]*B[k][j];
  fprintf(arquivo,"%d",c[i][j]);
  
  fclose(arquivo);
  system("pause");
   return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma terceira matriz para armazenar o resultado, o codigo acima esta certo em partes, somente falta fazer um calculo e salvar os dados desta matriz com o calculo no arquivo. por exemplo:

 

for(i=0;i<3;i++)
{
   for(j=0;j<3;j++)
   {
	  C[i][j]=A[i][j]*B[i][j];
   }
}
Aqui ele faz a linha por linha, celula por celula, agora é só pensar um pouco pra multiplicar do jeito q você quer, se alguem tiver outra solução ai pode postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.