Multiplicando duas matrizes em C/C++

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


// Autor: João Matheus Santos Assis

 main(){

 int N_L_A, N_C_A, N_L_B, N_C_B;
       
   printf("\n Numero de Linhas da matriz A: ");
   scanf("%d",&N_L_A);
  
   printf(" Numero de Colunas da matriz A: ");
   scanf("%d",&N_C_A);
  
   int A[N_L_A][N_C_A];
  
   printf("\n Numero de Linhas da matriz B: ");
   scanf("%d",&N_L_B);
  
   printf(" Numero de Colunas da matriz B: ");
   scanf("%d",&N_C_B);
  
   int B[N_L_B][N_C_B];
  
  
   printf("\n\n\t A[%d][%d] X B[%d][%d]\n\n",N_L_A, N_C_A, N_L_B, N_C_B);
  
   if (N_C_A == N_L_B){
            
     int Mult[N_L_A][N_C_B];
  
   for (int i=0; i<N_L_A; ++i){
       for (int j=0; j<N_C_A; ++j){
           printf(" A[%d][%d]: ",i,j);
           scanf("%d",&A[i][j]);          
       }
   }
  
   printf("\n\n");
  
   for (int i=0; i<N_L_B; ++i){
       for (int j=0; j<N_C_B; ++j){
           printf(" B[%d][%d]: ",i,j);
           scanf("%d",&B[i][j]);
       }
   }
  
   printf("\n\n");
  
   for (int i=0; i<N_L_A; ++i){
       for (int j=0; j<N_C_B; ++j){
           Mult[i][j] = 0;
       }
   }
  
  
   int L,C,K;
   L=C=K=0;
   for (int i=0; i<N_L_A; ++i){
      
       for (int j=0; j<N_C_B; ++j){
          
           for (int N=0; N<N_C_A; ++N){
              
               Mult[i][j] += (A[L][K]*B[K][C]);
               K++;
           }
          
           K=0; C++;
       }
      
        L++; C=0;
   }
  
  
  
   printf("\n\n");
  
   for (int i=0; i<N_L_A; ++i){
       for (int j=0; j<N_C_B; ++j){
           printf("\t%d",Mult[i][j]);
       }
       printf("\n");
   }
  
  
   } else        

        printf("  Nao e possivel multiplicar as duas matrizes.\n\n");
  
   system("pause");
  
 }




Artigos relacionados em C/C++:




Feito no Dev C++ 4.9.9.2 | Executável