17 Matrizes
17 Matrizes
17 Matrizes
Introdução a Programação
Departamento de Computação
Universidade Federal de Ouro Preto
Aula: Matrizes em C
1 Motivação
2 Definição de matrizes
3 Matrizes e funções
4 Exemplos
5 Exercícios
Aula: Matrizes em C
Aula: Matrizes em C
1 Motivação
2 Definição de matrizes
3 Matrizes e funções
4 Exemplos
5 Exercícios
1 Motivação
2 Definição de matrizes
3 Matrizes e funções
4 Exemplos
5 Exercícios
Por exemplo, uma matriz bi-dimensional pode ser vista como uma tabela
de m linhas e n colunas.
<tipo>: tipo dos dados que serão armazenados no vetor (int, char,
float, etc);
<identificador>: nome dado à variável;
<linhas>: número de elementos da primeira dimensão;
<colunas>: número de elementos da segunda dimensão;
As linhas e colunas são numeradas de 0 até tamanho − 1.
Exemplo:
Exemplos:
Matriz (M x N)
1 #define M 4
2 #define N 3
3
4 int matriz[M][N]; // note que M e N são constantes
Matriz (M x N)
1 // capturando dados
2 for (int i = 0; i < M; i++) { //para as linhas
3 for (int j = 0; j < N; j++) { //para as colunas
4 scanf("%d", &matriz[i][j]);
5 }
6 }
Matriz (M x N)
1 int matriz[M][N];
2
3 for (int i = 0; i < M; i++) //para as linhas
4 for (int j = 0; j < N; j++) //para as colunas
5 matriz[i][j] = 0;
Ou ainda:
1 int matriz[3][4] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 11, 22, 33 };
1 int main()
2 {
3 // declaração das variáveis
4 float mat[4][5], somaLinha[4], total;
5
6 // total se inicia com zero
7 total = 0;
8
9 for (int i = 0; i < 4; i++) {
10 // a soma da cada linha é inicializada com zero
11 somaLinha[i] = 0;
12
13 // somando os valores da linha em somaLinha[i]
14 for (int j = 0; j < 5; j++)
15 somaLinha[i] += mat[i][j];
16
17 // somando o total de cada linha
18 total += somaLinha[i];
19 }
20
21 ...
22 }
1 Motivação
2 Definição de matrizes
3 Matrizes e funções
4 Exemplos
5 Exercícios
1 int main()
2 {
3 int A[10][10];
4 ...
5 imprimirMatriz2(A, 10, 10);
6 ...
7 return 0;
8 }
1 Motivação
2 Definição de matrizes
3 Matrizes e funções
4 Exemplos
5 Exercícios
Lendo a matriz:
1 int matriz[100][100];
2
3 // lendo as dimensões da matriz
4 printf("Digite as dimensões m e n da matriz: ");
5 scanf("%d %d", &m, &n);
6
7 // lendo os elementos da matriz
8 for (int i = 0; i < m; i++) {
9 for (int j = 0; j < n; j++) {
10 printf("Digite o valor de matriz[%d][%d]: ", i, j);
11 scanf("%d", &matriz[i][j]);
12 }
13 }
1 Motivação
2 Definição de matrizes
3 Matrizes e funções
4 Exemplos
5 Exercícios
Exercício 1
Escreva um programa que declare e preencha uma matriz (10 × 10) com
valores fornecidos pelo usuário.
1 O programa deve imprimir o maior valor da matriz e em qual posição
(linha e coluna) este valor está.
2 Em seguida, o programa deve imprimir os elementos da diagonal
principal e da diagonal secundária.
/ 12