A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Matrizes Programação em Java Prof. Maurício Braga.

Apresentações semelhantes


Apresentação em tema: "Matrizes Programação em Java Prof. Maurício Braga."— Transcrição da apresentação:

1 Matrizes Programação em Java Prof. Maurício Braga

2 2 Matrizes Vimos que vetores são utilizados para armazenar dados de uma única fileira. Porém, existem situações em que a natureza dos dados exige uma forma de armazenamento em mais de uma dimensão. Para estas situações, existem as matrizes, que podem ser vistas como vetores que possuem mais de uma dimensão (normalmente duas). Por ser bidimensional, uma matriz representa uma tabela de valores colocados em linhas e colunas. Para identificar um valor é necessário informar a linha e a coluna Conhecidas como tabelas, ou variáveis indexadas bidimensionais Um vetor pode ser visto como uma matriz com uma única linha.

3 3 Matrizes Sintaxe para declaração de uma matriz: Sintaxe para referenciação de uma posição: Exemplos: Declaração: Referenciação: : vetor[..,..,...] de ; valor : vetor[1..3,1..4] de real; valor[1,1] <- 8.50; [,,...]; valor[2,3] <- 7.3;

4 4 Matrizes Exemplo Um distribuidor de refrigerantes vende seu produto em todo o país. Em cada trimestre do ano passado ele vendeu uma certa quantidade de garrafas em cada região do Brasil. Faça um algoritmo para ler as quantidades vendidas e escrever a quantidade total vendida em todo o país. Solução Pelo enunciado do problema, vimos que existem 20 dados de entrada, pois temos 4 trimestres no ano e cada trimestre teve uma venda para cada uma das cinco regiões do Brasil. O enunciado do problema também no leva a concluir que devemos utilizar uma estrutura matricial ao invés de vetorial. Temos vendas para regiões por trimestre.

5 5 Matrizes Solução (cont.) A tabela abaixo mostra uma representação possível para os dados do problema: Norte2 - Nordeste3 - Sul 4 - Sudeste 5 – Centro- Oeste 1º Trimestre 2º Trimestre 3º Trimestre 4º Trimestre

6 6 Matrizes Solução (cont.): Então o algoritmo fica assim: Variáveis quant : vetor[1..4,1..5] de inteiro; i, j, soma : inteiro; Início para i de 1 até 4 faça para j de 1 até 5 faça [[ escrever Informe a quantidade do, i, º trimestre e, j, ª região: ; ler quant[i,j]; ]]; soma = 0; para i de 1 até 4 faça para j de 1 até 5 faça soma = soma + quant[i,j]; escrever O total das quantidades vendidas é, soma; Fim.

7 7 Matrizes em Java Criadas utilizando arrays multidimensionais. Arrays multidimensionais com duas dimensões costumam ser utilizados para representar tabelas de valores: Informações dispostas na forma de linhas e colunas. Chamados de arrays bidimensionais pois precisam de dois índices para identificação dos elementos. Java não suporta arrays multidimensionais diretamente. É necessário criar um array unidimensional e definir que seus elementos também são arrays unidimensionais; Praticamente possuem o mesmo efeito.

8 8 Arrays Multidimensionais Cada elemento do array é identificado por uma expressão de acesso da forma nomeArray [ linha ] [ coluna ]. a[ 0 ] [ 0 ]a[ 0 ] [ 1 ]a[ 0 ] [ 2 ]a[ 0 ] [ 3 ] a[ 1 ] [ 0 ]a[ 1 ] [ 1 ]a[ 1 ] [ 2 ]a[ 1 ] [ 3 ] a[ 2 ] [ 0 ]a[ 2 ] [ 1 ]a[ 2 ] [ 2 ]a[ 2 ] [ 3 ]

9 9 Arrays Multidimensionais Arrays de arrays unidimensionais podem ser inicializados da mesma forma que arrays unidimensionais: int b[ ][ ] = { { 1, 2 }, { 3, 4 } }; ou int b[][]; b = new int[ 2 ][ 2 ];

10 10 Arrays Multidimensionais Arrays de arrays unidimensionais não exigem que todas as linhas tenham a mesma quantidade de elementos. Ex: int b[ ][ ] = { { 1, 2 }, { 3, 4, 5 } }; ou int b[ ][ ]; b = new int[ 2 ][ ]; // cria 2 linhas b[ 0 ] = new int[ 5 ]; // cria 5 colunas para linha 0 b[ 1 ] = new int[ 3 ]; // cria 3 colunas para linha 1

11 11 Arrays Multidimensionais Acessando os elementos de um array multidimensional: int[ ][ ] a = new int[ 3 ][ 2 ]; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[ i ].length; j++) { System.out.println(a[ i ][ j ]); }

12 12 Solução Exemplo em Java public static void main(String[] args) { int[ ][ ] quant = new int[ 4 ][ 5 ]; int soma = 0, valor = 0; // lê os valores para cada região e cada trimestre for (int i = 0; i < quant.length; i++) { for (int j = 0; j < quant[ i ].length; j++) { System.out.println("informe a quantidade do "+(i+1)+"º trimestre e " +(j+1)+"ª região"); valor = Leia(valor); quant[ i ][ j ] = valor; }

13 13 Solução Exemplo em Java // soma todos os valores armazenados na matriz for (int i = 0; i < quant.length; i++) { for (int j = 0; j < quant[ i ].length; j++) soma = soma + quant[ i ][ j ]; } System.out.println("O total de quantidades vendidas é:" + soma);

14 14 Matrizes Exercício Faça um programa que solicite ao usuário o tamanho em linhas e colunas de uma matriz bem como os dados da mesma.Em seguida, exiba a matriz digitada pelo usuário, colocando todos os elementos de cada linha em uma mesma linha.

15 15 Solução public static void main(String[] args) { int num_linha=0, num_coluna=0, valor = 0; System.out.println("Digite o número de linhas da matriz"); num_linha = Leia(num_linha); System.out.println("Digite o número de colunas da matriz"); num_coluna = Leia(num_coluna); int[ ][ ] a = new int[ num_linha ][ num_coluna ]; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[ i ].length; j++) { System.out.println("digite o valor do elemento da "+(i+1)+"º linha e " +(j+1)+"º coluna"); valor = Leia(valor); a[ i ][ j ] = valor; }

16 16 Solução } System.out.println("A matriz digitada foi:"); for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[ i ].length; j++) System.out.print(a[ i ][ j ]+ " "); System.out.println(); }

17 17 Matrizes Exercícios Faça um programa que leia uma matriz e exiba o menor valor, o maior valor e a média dos elementos presentes nesta matriz. Crie uma matriz 7x8 onde cada elemento é a soma dos índices de sua posição dentro da matriz.

18 Matrizes Programação em Java Prof. Maurício Braga


Carregar ppt "Matrizes Programação em Java Prof. Maurício Braga."

Apresentações semelhantes


Anúncios Google