#include <stdio.h>
#include <conio.h>
int lina, cola, linb, colb;
void lerdados(int *lina, int *cola, int *linb, int *colb) {
printf(“\ncopie o codigo e seja um perdedor (Y)\nfalo ae”
printf (“\n Digite o numero de linhas da matriz A: “);
scanf(“%d”,&(*lina));
printf (“\n Digite o numero de colunas da matriz A: “);
scanf(“%d”,&(*cola));
printf (“\n Digite o numero de linhas da matriz B: “);
scanf(“%d”,&(*linb));
printf (“\n Digite o numero de colunas da matriz B: “);
scanf(“%d”,&(*colb));
}
void dadosmata(int ma[lina][cola], int lina, int cola){ // dados da matriz A
int i, j;
for (i=1; i<=lina; i++){
for (j=1; j<=cola; j++){
printf(“\n Digite o valor para a matriz A da linha %d coluna %d : “,i,j);
scanf(“%d”, &ma[i][j]);
}
}
}
void dadosmatb(int mb[linb][colb], int linb, int colb){ //dados da matriz B
int i, j, valor=0;
for (i=1; i<=linb; i++){
for (j=1; j<=colb; j++){
printf(“\n Digite o valor para a matriz B da linha %d coluna %d : “,i,j);
scanf(“%d”, &valor);
mb[i][j] = valor;
}
}
}
void multmat (int ma[lina][cola], int mb[linb][colb], int lina, int cola, int linb, int colb){ //multiplicação das matrizes
int mc[lina][colb], i=1, j=1, k=1;
for (i=1; i<=lina; i++){
for(j=1; j<=colb;j++){
mc[i][j]=0;
for(k=1;k<=cola; k++){
mc[i][j] += ma[i][k]*mb[k][j];
}
printf(“\n matriz mc[%d][%d] = %d”,i,j,mc[i][j]);
}
}
}
int main(){
lerdados(&lina, &cola, &linb, &colb);
{
int ma[lina][cola], mb[linb][colb];
dadosmata(ma, lina, cola);
dadosmatb(mb, linb, colb);
if (cola == linb){
multmat (ma, mb, lina, cola, linb, colb);
getch();
}else{
printf(“\n Nao e possivel realizar a multiplicacao das matrizes \n O numero de linhas da matriz A deve ser igual ao numero de colunas da matriz B”);
getch();
}
}
return(0);
}
