#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
int main() {
setlocale (LC_ALL, "Portuguese");
int i, j, lA, cA, lB, cB, X;
printf("\n=========POTÊNCIA DE MATRIZ ====\n");
printf("\n==========MULTIPLICAÇÃO DE MATRIZES==========\n");
printf("\n Informe a quantidade de linhas da matriz A : ");
scanf("%d",&lA);
printf("\n Informe a quantidade de colunas da matriz A : ");
scanf("%d",&cA);
printf("\n Informe a quantidade de linhas da matriz B : ");
scanf("%d",&lB);
printf("\n Informe a quantidade de colunas da matriz B : ");
scanf("%d",&cB);
float matrizA[lA][cA],matrizB[lB][cB],matrizC[lA][cB],Aux=0;
if(cA==lB)
{
for(i=0; i<lA; i++)
{
for(j=0; j<cA; j++)
{
printf("\n\n Informe o valor da %d%c Linha e da %d%c Coluna da Matriz A: ", i+1, 00 , j+1, 00);
scanf("%f", &matrizA[j]);
}
printf("\n");
}
for(i=0; i<lB; i++)
{
for(j=0; j<cB; j++)
{
printf("\n\n Informe o valor da %d%c Linha e da %d%c Coluna da 2%c Matriz B: ", i+1, 00, j+1, 00, 00);
scanf("%f", &matrizB[j]);
}
printf("\n");
}
printf("Matriz A \n\n");
for(i=0; i<lA; i++)
{
for(j=0; j<cA; j++)
{
printf("%6.f", matrizA[j]);
}
printf("\n\n");
}
printf("Matriz B \n\n");
for(i=0; i<lB; i++)
{
for(j=0; j<cB; j++)
{
printf("%6.f", matrizB[j]);
}
printf("\n\n");
}
for(i=0; i<lA; i++)
{
for(j=0; j<cB; j++)
{
matrizC[j]=0;
for(X=0; X<lB; X++)
{
Aux += matrizA[X] * matrizB[X][j];
}
matrizC[j]=Aux;
Aux=0;
}
}
printf("\n\n");
printf("A Nova Matriz Gerada da Multiplicação entre ( A * B ) eh : \n\n");
for(i=0; i<lA; i++)
{
for(j=0; j<cB; j++)
{
printf("%6.f", matrizC[j]);
}
printf("\n\n");
}
printf("\n\n");
}
else {
printf("\n\n OBSERVAÇÃO: Não há como multiplicar as matrizes informadas anteriores \n");
}
system("pause");
return 0 ;
}
adicionado 2 minutos depois
só conseguir fazer a multiplicação de duas matriz, mas quero de potência de matrizes de ordem 3, por favor que conseguir dá uma força aí...pode mexer no código