Faca um programa que multiplique duas matrizes. O programa devera' estar estruturado de maneira que:
1) o usuário forneça as dimensões das matrizes (teste se as dimensões são compatíveis, isto é, se as matrizes podem ser multiplicadas);
2) as matrizes sejam alocadas dinamicamente (você pode usar a função vista nesta página para isto);
3) as matrizes sejam lidas pelo teclado (faça uma função para leitura das matrizes);
4) as matrizes sejam, então, multiplicadas (faça uma função para a multiplicação);
5) a matriz resultante seja apresentada em tela (faça uma função para apresentar a matriz na tela).
OBS: Faça, também, alocação dinâmica da matriz resultante.
Soluções para a tarefa
Resposta:
#include<stdio.h>
int main() {
int a[10][10], b[10][10], c[10][10], n, i, j, k;
printf("Enter the value of N (N <= 10): ");
scanf("%d", & n);
printf("Enter the elements of Matrix-A: \n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", & a[i][j]);
}
}
printf("Enter the elements of Matrix-B: \n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", & b[i][j]);
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
c[i][j] = 0;
for (k = 0; k < n; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
printf("The product of the two matrices is: \n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d\t", c[i][j]);
}
printf("\n");
}
return 0;
}
Explicação: