Faça um programa que, dados dois vetores bidimensionais (matrizes A e B ) com dimensões de 5 \times 5 elementos, imprima a soma destas duas matrizes, a soma das diagonais de cada matriz e a multiplicação das duas matrizes.

Passo 1

Declarar as matrizes e ler os dados de entrada. Precisamos de duas matrizes A e B de dimensão 5\times5, além de variáveis para armazenar a soma elemento a elemento S, o produto P e as somas das diagonais de cada matriz.

Passo 2

Calcular a matriz soma S, usando que
S_{ij} = A_{ij} + B_{ij},
para i=0,\dots,4 e j=0,\dots,4.

Passo 3

Calcular as somas das diagonais de cada matriz. Para cada matriz M\in\{A,B\}:
– Diagonal principal: somar M_{ii} para i=0 até 4.
– Diagonal secundária: somar M_{i,4-i} para i=0 até 4.

Passo 4

Calcular o produto matricial P = A \times B. Cada elemento de P é dado por
P_{ij} = \sum_{k=0}^{4} A_{ik}\times B_{kj},
para i=0,\dots,4 e j=0,\dots,4.

Passo 5

Imprimir na tela:
  1. A matriz soma S.
  2. As somas das duas diagonais de A e de B.
  3. A matriz produto P.

Resposta

#include <stdio.h>

int main() {
 int A[5][5], B[5][5], S[5][5], P[5][5];
 int i, j, k;
 int diagA\(1=0\), diagA\(2=0\);
 int diagB\(1=0\), diagB\(2=0\);

 // Leitura das matrizes A e B
 printf("Digite 25 elementos de A (linha por linha):
");
 for (i \(=0\); i < 5; i\(++\))
 for (j \(=0\); j < 5; j\(++\))
 scanf("%d", &A[i][j]);

 printf("Digite 25 elementos de B (linha por linha):
");
 for (i \(=0\); i < 5; i\(++\))
 for (j \(=0\); j < 5; j\(++\))
 scanf("%d", &B[i][j]);

 // Cálculo da soma S = A + B e das somas das diagonais
 for (i \(=0\); i < 5; i\(++\)) {
 for (j \(=0\); j < 5; j\(++\)) {
 S[i][j] = A[i][j] + B[i][j];
 }
 diagA\(1+=\) A[i][i];
 diagA\(2+=\) A[i][4 - i];
 diagB\(1+=\) B[i][i];
 diagB\(2+=\) B[i][4 - i];
 }

 // Cálculo do produto P = A * B
 for (i \(=0\); i < 5; i\(++\)) {
 for (j \(=0\); j < 5; j\(++\)) {
 P[i][j] \(=0\);
 for (k \(=0\); k < 5; k\(++\))
 P[i][j] \(+=\) A[i][k] * B[k][j];
 }
 }

 // Impressão da matriz soma
 printf("
Matriz Soma (\(A+B\)):
");
 for (i \(=0\); i < 5; i\(++\)) {
 for (j \(=0\); j < 5; j\(++\))
 printf("%4d", S[i][j]);
 printf("
");
 }

 // Impressão das somas das diagonais
 printf("
Soma das diagonais de A: principal = %d, secundaria = %d
",
 diagA1, diagA2);
 printf("Soma das diagonais de B: principal = %d, secundaria = %d
",
 diagB1, diagB2);

 // Impressão da matriz produto
 printf("
Matriz Produto (A*B):
");
 for (i \(=0\); i < 5; i\(++\)) {
 for (j \(=0\); j < 5; j\(++\))
 printf("%6d", P[i][j]);
 printf("
");
 }

 return 0;
}

Exercícios relacionados