ECT1203 - Aula08 - Matrizes

June 4, 2018 | Author: Jeimisson Dutra | Category: Permutation, Matrix (Mathematics), Theoretical Physics, Linear Algebra, Matrix Theory


Comments



Description

Universidade Federal do Rio Grande do Norte Escola de Ciências e TecnologiaECT1203 Linguagem de Programação 2011.2 Prof. Alquiles Burlamaqui Prof. Diego Rodrigues de Carvalho Profa. Idalmis Milián Sardina Prof. Luiz Eduardo Cunha Leite Aula 08 – Matrizes Hora de silenciar o celular • Manter o celular sempre desligado/silencioso quando estiver em sala de aula • Nunca atender o celular em sala de aula . Objetivo da aula Apresentar matrizes em C++:  Motivação para utilização de matrizes  Declaração de matrizes  Exemplos de utilização de matrizes . Declaração de uma matriz de duas dimensões com 4 linhas e 3 colunas . as matrizes podem ser: • Unidimensionais (vetores) • Multidimensionais (duas ou mais dimensões) • As matrizes são armazenadas de forma linear int m[4][3].Matrizes • Em C++. 60}}.Armazenamento de uma matriz Endereço 100 Valor .40..25. 5 10 15 20 25 30 35 40 45 int m[4][3] = {{ 5..55. {35..45}. colunas 5 10 25 15 30 20 140 144 148 152 50 55 60 . 104 108 112 116 120 124 128 132 136 {50. {20.15}.30}.10. 35 50 40 55 45 60 m[0][0] m[0][1] m[0][2] m[1][0] m[1][1] m[1][2] m[2][0] m[2][1] m[2][2] m[3][0] m[3][1] m[3][2] linhas .. m[0][0] m[1][2] Acessa o elemento da primeira linha e primeira coluna Acessa o elemento da segunda linha e terceira coluna .Matrizes bidimensionais • Matrizes de duas dimensões são matrizes em que os elementos são outras matrizes. • Os elementos de uma matriz bidimensional são acessados com indexação dupla: o primeiro índice acessa a linha e o segundo acessa a coluna. i<3. } return 0. j<4. cout << endl. j++) m[i][j] = (i*4)+j+1. i++) { for(j=0. j++) cout << m[i][j] << “ ”. j<4. } O que imprime o programa ao lado? . for(i=0. for(i=0. i<3.int main(){ int m[3][4]. i. i++) for(j=0. j. for(i=0. i++) for(j=0. i++) { for(j=0. i<3. } return 0. j++) cout << m[i][j] << “ ”. j. j<4. cout << endl. j<4. for(i=0. i. } O que imprime o programa ao lado? . j++) m[i][j] = (i*4)+j+1. i<3.int main(){ int m[3][4]. 5.11. {7.2.5.3.9}.12}}.3}.11.12}.10.3.2.6.9.11. {4. int m[ ][3] = {1.12}.7. {10.10. int m[4][3] = {1. O número de colunas deve ser sempre fornecido.6.6}.4.8.4. .8.8.7.9.2.5.Inicialização de matrizes • As três formas a seguir podem ser usadas: int m[4][3] = {{1. . A matriz m ocupa 48 bytes na memória.Espaço ocupado por uma matriz bidimensional número de bytes = tamanho da 1ª dimensão * tamanho da 2ª dimensão * sizeof(tipo) int m[4][3]. A matriz m ocupa 1440 bytes.[tamanhoN].. int m[4][3][6][5].. . • A forma geral da declaração é: tipo nome[tamanho1][tamanho2].Matrizes multidimensionais • O número máximo de dimensões depende do compilador. 2.4}.Usando matrizes de 3 dimensões int tres[3][2][4] = { { {1. { {7.3}.4} } }.8} }.1.9. Como acessar o único valor zero armazenado na matriz acima? . {5.6.6.3.2}.6.9.2. { {7.7. {4.3.8. {0.3} }. 3}.4} } }. {5.3.6.9.3.2.8} }.2}. terceiro grupo (elemento) tres[2][1][0] primeiro dos 4 números segundo elemento do terceiro grupo .7.9. {4.4}. {0.6. { {7.1.Usando matrizes de 3 dimensões int tres[3][2][4] = { { {1.2. { {7.6.3} }.8. . os elementos da matriz. em seguida. O usuário deve fornecer os tamanhos da matriz e.Exercício 1 Dada uma matriz bidimensional de dimensão MxN. Observação: • M. calcular e imprimir a matriz transposta. N <= 30 • M e N devem ser lidos. Exercício 2 Determinar se uma matriz NxN é uma matriz de permutação. 0 0 0 1 Observação: 0 0 1 0 • N <= 30 0 1 0 0 • N deve ser lido. . Uma matriz quadrada é chamada de matriz de permutação se seus elementos são apenas 0’s e 1’s e se em cada linha e coluna da matriz existe apenas um único valor 1. Exemplo: A matriz ao lado é uma matriz de 1 0 0 0 permutação. N <= 40. N. encontrar e escrever uma matriz C (M x L) onde C é obtida pelo produto de A por B (C = A x B). K. K <= 40. EX: . L <= 50 • M. Observação: • M <= 30. L devem ser lidos.Exercício 3 Dadas duas matrizes A (M x N) e B (K x L) reais. a soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas iguais. verificar se A é um quadrado mágico é um quadrado mágico . Dada uma matriz quadrada Anxn .Exercício 4 Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos de cada linha. Dados uma matriz de custos Anxn e n (n <= 100) itinerários. • Exemplo: O custo do itinerário 03133210é a03+a31+a13+a33+a32+a21+a10= 3 + 1 + 400 + 5 + 2 + 1 + 5 = 417 . cada um com k (k <= 30) cidades. calcular o custo total para cada itinerário.Exercício 5 (POLI 94) Os elementos aij de uma matriz inteira Anxn representam os custos de transporte da cidade i para a cidade j.
Copyright © 2024 DOKUMEN.SITE Inc.