Exercícios de Matrizes em Linguagem C: Guia Prático
Classificado em Matemática
Escrito em em
português com um tamanho de 3,08 KB
Exercícios Práticos com Matrizes em Linguagem C
1. Agrupamento e Transferência de Dados entre Matrizes
Este programa demonstra como processar uma matriz de dados e transferir somatórios para uma segunda matriz baseada em identificadores de região.
#include <stdio.h>
int main() {
int a[64][4];
int b[3][15], i, regiao, sumasup = 0, sumahab = 0, j = 0;
regiao = 1;
for (i = 0; i < 64; i++) {
if (a[i][0] == regiao) {
sumasup += a[i][2];
sumahab += a[i][3];
}
if (a[i + 1][0] != regiao) {
b[0][j] = regiao;
b[1][j] = sumasup;
b[2][j] = sumahab;
j++;
sumasup = 0;
sumahab = 0;
regiao++;
}
}
if (a[i][0] == regiao) {
sumasup += a[i][2];
sumahab += a[i][3];
}
return 0;
}2. Operações Aritméticas em Matriz 3x3 por Posição
O programa abaixo solicita ao usuário 9 números para preencher uma matriz 3x3. O cálculo final baseia-se na paridade da soma dos índices (i + j):
- Posição Par: O número é somado ao resultado.
- Posição Ímpar: O número é subtraído do resultado.
- O índice 0 é considerado par.
#include <stdio.h>
#include <conio.h>
#define F 3
#define C 3
int main() {
int a[F][C];
int num, resultado = 0, i, j;
for (i = 0; i < F; i++) {
for (j = 0; j < C; j++) {
printf("Digite o número: ");
scanf("%d", &num);
a[i][j] = num;
if ((i + j) % 2 == 0) {
resultado += num;
} else {
resultado -= num;
}
}
}
printf("O resultado final é: %d", resultado);
getch();
return 0;
}3. Cálculos de Somas em Matriz 4x4
Este programa solicita 16 números para uma matriz 4x4 e realiza o cálculo de quatro somas distintas:
- A. Diagonal principal.
- B. Diagonal secundária.
- C. Primeira e última linha.
- D. Primeira e última coluna.
#include <stdio.h>
#include <stdlib.h>
int main() {
int MATR[4][4], suma_dp = 0, suma_ds = 0, suma_pu_f = 0, suma_pu_c = 0;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("Digite o número [%i][%i]: ", i, j);
scanf("%i", &MATR[i][j]);
}
}
for (int l = 0; l < 4; l++) {
suma_dp += MATR[l][l];
suma_ds += MATR[l][3 - l];
suma_pu_f += MATR[0][l] + MATR[3][l];
suma_pu_c += MATR[l][0] + MATR[l][3];
}
printf("\nA soma da diagonal principal: %i", suma_dp);
printf("\nA soma da diagonal secundária: %i", suma_ds);
printf("\nA soma da primeira e última linha: %i", suma_pu_f);
printf("\nA soma da primeira e última coluna: %i", suma_pu_c);
system("pause");
return 0;
}