Ir ao conteúdo
  • Cadastre-se

Multiplicação de Matrizes DevC++


MarcosGS

Posts recomendados

Poderiam ajudar com o seguinte Algoritmo: Escreva um algoritmo que solicite ao usuário o tamanha de duas matrizes e o preenchimento delas e realize a multiplicação das matrizes exibindo o resultado. Antes de multiplicar ver se o número de calunas da 1ª é igual ao número de linhas da 2ª, se for igual realiza a multiplicação, e se for diferente dizer que não podem ser multiplicadas.

 

Ficarei grato se alguém puder ajudar.

pode ser parte ou o algoritmo inteiro.

Link para o comentário
Compartilhar em outros sites

Fiz uma função em C:

 

float MULTIPLICACAOMAT(float matA[1000][1000],float matB[1000][1000],float matP[1000][1000])
{
 
 printf("Entre com o tamanho (linhas x colunas) da primeira matriz \n");
 
                printf("Numero de linhas: "); 
                scanf("%d",&linA);
                Beep(500,100);
                printf("Numero de colunas: ");
                scanf("%d",&colA);
                Beep(500,100);
 
                system("cls");
               
 
                printf("Entre com o tamanho (linhas x colunas) da segunda matriz \n");
 
                printf("Numero de linhas: ");
                scanf("%d",&linB);
                Beep(500,100);
                    printf("Numero de colunas: ");
                    scanf("%d",&colB);
                    Beep(500,100);
   
                    system("cls");
                      
                         
         if (colA==linB)
                           {
  
                       printf("Entre com os elementos da primeira matriz, correspondentes a: \n\n");
          
               for(p1=0;p1<linA;p1++)
                          {
                           for(q1=0;q1<colA;q1++)
                         {
                          printf("linha %d",p1+1);
                          printf(" e coluna %d: ",q1+1);
                          scanf("%f",&matA[p1][q1]);
                          Beep(500,100);
                        }
             
                          }
   
                        printf("Entre com os elementos da segunda matriz, correspondentes a: \n\n");
          
               for(p2=0;p2<linB;p2++)
                          {
                        for(q2=0;q2<colB;q2++)
                          {
                         printf("linha %d",p2+1);
                         printf(" e coluna %d: ",q2+1);
                         scanf("%f",&matB[p2][q2]);
                         Beep(500,100);
                          }
  }
                       
                       
                       system("cls");
   
    ACM=0.0;
 
                           for(s1=0;s1<linA;s1++)
                             {
                           for(u1=0;u1<colB;u1++)
                           {
                       for(j=0;j<colA;j++)
                       {
                       ACM=(ACM)+((matA[s1][j])*(matB[j][u1]));
                       }
 
                       matP[s1][u1]=ACM;
                       ACM=0.0;
                           }
 
                                 }
 
printf("A matriz resultante da multiplicacao das duas matrizes inseridas e: \n\n");
 
for(s1=0;s1<linA;s1++)
                              {
                          for(u1=0;u1<colB;u1++)
                          {
                                   printf("%.1f ",matP[s1][u1]);
                                  }
                          printf("\n");
                              }
                              
                              printf("\n\n");
                              
                   }
     
  if(colA!=linB)
                                  {
                             printf("FATAL ERROR !! \n\n");
 printf("Nao e possivel multiplicar as matrizes inseridas. Por favor, verifique seus tamanhos.");
                             Beep(1000,1000);
                             
   
                                  printf("\n\n\n");
                              
 
                                  }
 
}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...