#include #define N 2 void fnProdMatrizes(int linA, int colA, int colB, int A[linA][colA], int B[colA][colB], int AxB[linA][colB]){ int ia = 0, // Índice das linhas de A ja = 0, // Índice das Colunas de A ib = 0, // Índice das Linhas de B jb = 0; // índice das Colunas de B //Percorre os vetores multiplicando os elementos da Linha A x Elementos da Coluna B for(ia = 0; ia < linA; ia++) // Loop da linha em A e Linhas de AxB { for(jb = 0; jb < colB; jb++)// Loop das colunas em B e Colunas de AxB { for(ja = 0; ja < colA; ja++)// Neste loop cada elemento de A-Linha é multiplicado em B-Colunas AxB[ia][jb] += A[ia][ja] * B[ja][jb]; // soma o resultado e atribui a celular // correspondente em que a linha é o valor de A-linha e B-Coluna; // Ex.: Se A-linha = 0 o valor será atribuído a AxB-Coluna 0 // Se A-Linha = 1 o valor será atribuído a AxB-Coluna 1, etc... } } return; } // Função Principal int main(void){ int A[N][N] = // Matriz A { 2, 3, 1, 4 }, B[N][N] = // Matriz B { 1, 2, 3, 5, }, AxB[N][N] = { 0 }; // Matriz AxB fnProdMatrizes(N, N, N, A, B, AxB); printf("AxB(1):= %d\n", AxB[0][0]); return 0; }