#include #define MAX 10 int main() { float M[MAX][MAX], N[MAX][MAX], soma; int i, j, m, n, k, l, q, op; op = 3; while (op != 4) { if (op == 1) { // Soma as matrizes if (m == k && n == l) { for (i = 0; i < m; ++i) { for (j = 0; j < n; ++j) printf("%4.1f ", M[i][j] + N[i][j]); printf("\n"); } printf("\n"); } else { printf("As matrizes não têm as mesmas dimensões.\n\n"); } } else if (op == 2) { // Multiplica as matrizes if (n == k) { for (i = 0; i < m; ++i) { for (j = 0; j < l; ++j) { soma = 0; for (q = 0; q < n; ++q) soma += M[i][q] * N[q][j]; printf("%4.1f ", soma); } printf("\n"); } printf("\n"); } else { printf("As matrizes são incompatíveis para esta multiplicação.\n\n"); } } else if (op == 3) { // Digita novas matrizes printf("Digite m, n e depois a matriz M: "); scanf("%d %d", &m, &n); for (i = 0; i < m; ++i) for (j = 0; j < n; ++j) scanf("%f", &M[i][j]); printf("Digite k, l e depois a matriz N: "); scanf("%d %d", &k, &l); for (i = 0; i < k; ++i) for (j = 0; j < l; ++j) scanf("%f", &N[i][j]); } printf("Escolha uma opção.\n"); printf("1. Soma as matrizes.\n"); printf("2. Multiplica as matrizes.\n"); printf("3. Digita novas matrizes.\n"); printf("4. Sair.\n"); scanf("%d", &op); } return 0; }