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

O enunciado pede um programa que trabalhe com duas matrizes 5\times5, digite-as, e então imprima:
  1. A soma elemento a elemento dessas duas matrizes.
  2. A soma das diagonais (principal e secundária) de cada matriz.
  3. O produto matricial A \times B.

Passo 2

Vamos declarar em C três matrizes de inteiros A, B e S (para a soma), mais uma matriz P para o produto, e variáveis para acumular as somas das diagonais principal e secundária de A e de B.

Passo 3

Para ler cada matriz 5\times5, usamos dois loops aninhados de i=0 até 4 e j=0 até 4, e chamamos scanf para preencher A[i][j] e depois B[i][j].

Passo 4

Para calcular a soma elemento a elemento, fazemos
for(i\(=0\); i<5; i\(++\))
 for(j\(=0\); j<5; j\(++\))
 S[i][j] = A[i][j] + B[i][j];

Passo 5

Para cada matriz, percorremos de i=0 até 4 e atualizamos:
  • somaPrincipalA += A[i][i]
  • somaSecundariaA += A[i][4-i]
    e de modo análogo para B.

Passo 6

Para o produto matricial, aplicamos a definição:
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];
 }

Passo 7

Por fim, imprimimos:
  1. A matriz soma S.
  2. As quatro somas de diagonais (somaPrincipalA, somaSecundariaA, somaPrincipalB, somaSecundariaB).
  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 somaPrincipalA \(=0\), somaSecundariaA \(=0\);
 int somaPrincipalB \(=0\), somaSecundariaB \(=0\);

 // Leitura das matrizes A e B
 printf("Digite os elementos da matriz A (5x5):
");
 for (i \(=0\); i < 5; i\(++\))
 for (j \(=0\); j < 5; j\(++\))
 scanf("%d", &A[i][j]);

 printf("Digite os elementos da matriz B (5x5):
");
 for (i \(=0\); i < 5; i\(++\))
 for (j \(=0\); j < 5; j\(++\))
 scanf("%d", &B[i][j]);

 // Soma elemento a elemento em S
 for (i \(=0\); i < 5; i\(++\))
 for (j \(=0\); j < 5; j\(++\))
 S[i][j] = A[i][j] + B[i][j];

 // Soma das diagonais de A e B
 for (i \(=0\); i < 5; i\(++\)) {
 somaPrincipalA \(+=\) A[i][i];
 somaSecundariaA \(+=\) A[i][4 - i];
 somaPrincipalB \(+=\) B[i][i];
 somaSecundariaB \(+=\) B[i][4 - i];
 }

 // Produto matricial P = A x 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 S = A + B:
");
 for (i \(=0\); i < 5; i\(++\)) {
 for (j \(=0\); j < 5; j\(++\))
 printf("%5d", S[i][j]);
 printf("
");
 }

 // Impressão das somas das diagonais
 printf("
Soma das diagonais de A:
");
 printf("Principal = %d
", somaPrincipalA);
 printf("Secundaria = %d
", somaSecundariaA);

 printf("
Soma das diagonais de B:
");
 printf("Principal = %d
", somaPrincipalB);
 printf("Secundaria = %d
", somaSecundariaB);

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

 return 0;
}

Exercícios relacionados