Sunteți pe pagina 1din 2

/*Multiplicacion de matrices de dimensiones N*M */

#include<stdio.h>
main()
{
/*DECLARACIONES*/
int A[50][40],B[40][40];
/*MATRICES DADAS*/
int I,J,K;
/*INDICES ACTUALES*/
int N,M,P;
/* DIMENSIONES DE LA MATRIZ A Y B*/
long C[50][40];
/*MATRIZ RESULTANTE*/
/*INTRODUCCION DE
printf("Dimension
scanf_s("%d",&N);
printf("Dimension
scanf_s("%d",&M);
printf("Dimension
scanf_s("%d",&P);

DATOS*/
N (max 50):");
M (max 40):");
P (max 40):");

/*MOSTRAR MATRIZ A*/


for(I=0;I<N;I++)
for(K=0;K<M;K++)
{
printf("Elemento [%d][%d]:",I,K);
scanf_s("%d",(int *)A + I*40+K);
}
printf("MATRIZ A:\n");
for(I=0;I<N;I++)
{
for(K=0;K<M;K++)
printf("%7d",*((int *)A + I*40+K));
printf("\n");
}
printf("\n");
/*MOSTRAR MATRIZ B*/
for(K=0;K<M;K++)
for(J=0;J<P;J++)
{
printf("Elemento [%d][%d]:",K,J);
scanf_s("%d",(int *)B + K*40+J);
}
printf("MATRIZ B:\n");
for(K=0;K<N;K++)
{
for(J=0;J<P;J++)
printf("%7d",*((int *)B + K*40+J));
printf("\n");
}
printf("\n");
/* MULTIPLICACION DE MATRICES*/
for(I=0;I<N;I++)
{
for(J=0;J<P;J++)
{
C[I][J]=0;
for(K=0;K<M;K++)
{
C[I][J]=C[I][J]+(A[I][K]*B[K][J]);
}

}
}
/* DESPLEGAR LA MATRIZ C*/
printf("MATRIZ C:\n");
for(I=0;I<N;I++)
{
for(J=0;J<P;J++)
printf("%7d",*((int *)C + I*40+J));
printf("\n");
}

return 0;
}