Jump to content
Fórum Script Brasil
  • 0

Multiplicação de matrizes


Leonardo Akatsuki

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...