#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++:
- Somando duas matrizes em C/C++
- Construindo uma tabuada no Visual Studio 2011
- Adivinhando um número em C/C++
- Programa com operações matemáticas C/C++
- Imprime um número N vezes, o número (N-1) ene menos uma vezes, e assim sucessivamente em C/C++
- Programa com todos os comandos em C/C++
- Programa que recebe 10 valores, calcule e escreva a soma de todos os valores impares e maiores do que 200 em C/C++.
- Maior e menor valor de um vetor de inteiros em C/C++
- Uso de case em C/C++
- Desenhando um X na tela em C/C++
- Fatorial em C/C++
- Somando dois números em C/C++
- Sequência de Fibonacci em C/C++
Feito no Dev C++ 4.9.9.2 | Executável |