Ir para conteúdo
Fórum Script Brasil
  • 0

Multiplicação de matrizes


Leonardo Akatsuki

Pergunta

Pessoal preciso fazer um programa em linguagem C que o usuário possa entrar com duas matrizes onde tenha um menu de opções (Switch Case) e possa escolher:

"Escolha a opção desejada:"

1. Somar as matrizes A e B

2. Multiplicar A por B

3. Multiplicar a matriz A por uma constante qualquer

4. Fazer a matriz transposta de A e B

5. Verificar se as matrizes A e B são simétricas

6. Fazer as matrizes opostas de A e B

7.Sair

Não foi dada a matéria de forma parcial apenas, e é um trabalho que tiver de correr atras por mim mesmo na net em cima da hora, já consegui fazer os passos 1 (soma) e 2 (multiplicação), estou tendo muita dificuldade no resto e se pudessem me ajudar ficaria grato!

Já fiz até aqui:

#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#define max 50

int main ()
{
int menu;
{
printf ("\n\nEscolha a opcao desejada:\n\n");
printf ("\t(1)Somar as matrizes A e B\n");
printf ("\t(2)Multiplicar A por B\n");
printf ("\t(3)Multiplicar a matriz A por uma constante qualquer\n");
printf ("\t(4)Fazer a matriz transposta de A e B\n");
printf ("\t(5)Verificar se as matrizes A e B são simetricas\n");
printf ("\t(6)Fazer as matrizes opostas de A e B\n");
printf ("\t(7)Sair\n");
scanf("%d", &menu);
}
while ((menu<1)||(menu>7));
switch (menu)
{
case 1:
int i,j,x,y,co;
float a[max][max], b[max][max], c [max][max];
printf("Entre com o numero de linhas das matrizes A e B.");
scanf("%d",&x);
printf("\nEntre com o numero de colunas das matrizes A e B.");
scanf("%d",&y);
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
printf("\nEntre com a matriz A.");
scanf("%f",&a[i][j]);
printf("\nEntre com a matriz B.");
scanf("%f",&b[i][j]);
}
}
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
printf("\n\n A soma das matrizes A e B são %2.2f\n", a[i][j] + b[i][j]);
}}
break;
case 2:

int ii,jj,kk,ll,cc;
float m[10][10];
float m1[10][10];
float maux[10][10];
printf("digite a quntidade de linhas das matrizes \n");
scanf("%i",&ll);
printf("\n\n");
printf("Digite a quantidade de colunas das matrizes\n");
scanf("%i",&cc);
printf("\n\n");
printf("Digite os elementos da matriz 1");
printf("\n\n");
for(ii=0;ii<ll;ii++)
{
for(jj=0;jj<cc;jj++)
{
printf("elemento %i%i -->",ii,jj);
scanf("%f",&m[ii][jj]);
}
}
printf("\n\n");
printf("Digite os elementos da matriz 2");
printf("\n\n");
for(ii=0;ii<ll;ii++)
{
for(jj=0;jj<cc;jj++)
{
printf("elemento %i%i -->",ii,jj);
scanf("%f",&m1[ii][jj]);
maux[ii][jj]=0;
}
}
for(ii=0;ii<ll;ii++)
{
for(jj=0;jj<cc;jj++)
{
for(kk=0;kk<ll;kk++)
{
maux[ii][jj]=maux[ii][jj]+(m[ii][kk]*m1[kk][jj]);
}
}
}
printf("\n\n");
printf("As matrizes multiplicadas geram a matriz abaixo");
printf("\n\n");
for(ii=0;ii<ll;ii++)
{
printf("\n");
for(jj=0;jj<cc;jj++)
{
printf("% 6.2f",maux[ii][jj]);
}
}
printf("\n\n");


             
break;
case 3:
printf ("\t\tConstante\n");

break;
case 4:
printf ("\t\tTransposta\n");
break;
case 5:
break;
case 6:
printf ("\t\tOposta\n");
break;
case 7:
exit(1);
break;
}
system ("pause");
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...