SlideShare uma empresa Scribd logo
1 de 23
LINGUAGEM DE
PROGRAMAÇÃO II
MATRIZES
Matrizes
• Variável
composta
homogênea
multidimensional
• Conjunto de variáveis de mesmo tipo
• Alocadas sequenciamente na memória
• Índice: referencia sua localização dentro da
estrutura. No caso de matrizes, precisamos de
tantos
índices
quantos
forem
seu
dimensionamento.
• Exemplo: matriz de 2dimensões, 2 índices.
Matrizes de 3dimensões, 3 indícesl.
Declarando e Inicializando
• Exemplo 1:
float x[ ][ ]; //declarando uma matriz do tipo float com
duas dimensões. O primeiro colchete é referente ao
número de linhas. O segundo colchete é referente ao
número de colunas.
f = new float[2][10]; //definindo o tamanho das
dimensões da matriz
0
0

1

1

2

3

4

5

6

7

8

9

x
Declarando e Inicializando
• Exemplo 2:
char [ ][ ]MAT; //declarando uma matriz do tipo
char com duas dimensões;
MAT = new char[4][3]; //definindo o tamanho
das dimensões da matriz
0
0
1
2
3

1

2

MAT
Declarando e Inicializando
• Exemplo 3:
int [ ][ ]Y[ ]; //declarando uma matriz do tipo int
com três dimensões
Y = new char[2][4][3]; //definindo o tamanho das
dimensões da matriz, que é multidimensional
Criamos aqui uma variável com duas linhas (0 a 1),
quatro colunas (0 a 3) e três profundidades (0 a 2),
que são capazes de armazenar números inteiros
Declarando e Inicializando
Y = new char[2][4][3]; //definindo o tamanho das
dimensões da matriz, que é multidimensional
Declarando e Inicializando
• Exemplo 4:
float x[ ][ ] = new float[2][6]; //declarando e
definindo o tamanho da matriz em uma única
linha
• Exemplo 5:
char [ ][ ]MAT = new char[4][3]; //declarando e
definindo o tamanho da matriz em uma única
linha
Declarando e Inicializando
• Exemplo 6:
int [ ][ ]Y[ ] = new int[2][4][3]; //eclarando e definindo o
tamanho da matriz em uma única linha
• Exemplo 7:
int y[][]; //matriz bidimensional
y = new int[2][]; //tamanho da primeira dimensão: duas
linhas. Tamanho da segunda dimensão: indefinido
y[0] = new int[5]; //definindo o tamanho da linha zero da
primeira dimensão: 5 posições
y[1] = new int[2]; //definindo o tamanho da linha um da
primeira dimensão: 2 posições
Declarando e Inicializando
int y[][]; //matriz bidimensional
y = new int[2][]; //tamanho da primeira dimensão: duas linhas.
Tamanho da segunda dimensão: indefinido
y[0] = new int[5]; //definindo o tamanho da linha zero da
primeira dimensão: 5 posições
y[1] = new int[2]; //definindo o tamanho da linha um da primeira
dimensão: 2 posições
Atribuindo valores à matriz
x[ 1 ][ 4 ] = 5; //atribui o valor 5 à posição identificada pelos
índices 1 (2ª linha) e 4 (5ª coluna)
MAT[ 3 ][ 2 ] = ‘D’; //atribui a letra D à posição identificada
pelos índices 3 (4ª linha) e 2 (3ª coluna)
y[ 0 ][ 3 ][ 1 ] = 12; //atribui o valor 12 à posição identificada
pelos índices 0 (1ª linha), 3 (4ª coluna) e 1 (2ª profundidade)
Atribuindo valores à matriz
y[ 0 ][ 3 ][ 1 ] = 12; //atribui o valor 12 à posição identificada
pelos índices 0 (1ª linha), 3 (4ª coluna) e 1 (2ª profundidade)
Atribuindo valores à matriz
MAT[ 3 ][ 2 ] = ‘D’; //atribui a letra D à posição identificada
pelos índices 3 (4ª linha) e 2 (3ª coluna)
Preenchendo uma matriz
• Usar uma estrutura de repetição para cada linha da
matriz!
int x[ ][ ] = new int[7][3];
Scanner e = new Scanner(System.in);
for( i = 0; i<7; i++ ) { //preenche a linha
for( j=0; j<3; j++ ) { //preenche a coluna
x[ i ][ j ] = e.nextInt(); //preenche a célula
}
}
Preenchendo uma matriz
int MAT[ ][ ]; //declarando uma matriz bidimensional
MAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da
primeira dimensão
MAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanho da linha zero
MAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha um
MAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha dois
Scanner e = new Scanner(System.in);
for( i = 0; i<MAT.length; i++ ) { //preenche a linha
for( j=0; j<MAT[i].length; j++ ) { //preenche a coluna
x[ i ][ j ] = e.nextInt(); //preenche a célula
}
}
Preenchendo uma matriz
int MAT[ ][ ]; //declarando uma matriz bidimensional
MAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da
LENGTH
primeira dimensão
MAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanhotamanho zero cada
Recupera o da linha de
dimensão de um array. No
MAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha um caso
desse exemplo, cada linha
MAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha dois do
array tem uma dimensão
Scanner e = new Scanner(System.in);
diferente!
for( i = 0; i<MAT.length; i++ ) { //preenche a linha
MAT.length = tamanho da
for( j=0; j<MAT[i].length; j++ ) { //preenche a coluna
primeira dimensão
x[ i ][ j ] = e.nextInt(); //preenche a célula
MAT[i].length = tamanho da
}
linha i de MAT
}
Imprimindo os valores de uma matriz
• Usar uma estrutura de repetição para cada linha da
matriz!
for( i=0; i<10; i++) {
//obtem índice da linha
for( j=0; j<6; j++) {
//obtem índice da coluna
System.out.println( x[ i ][ j ] );
//imprime o conteúdo da célula que está na
linha/coluna obtida
}
}
Imprimindo os valores de uma matriz
for( i=0; i<MAT.length; i++) {
//obtem o tamanho da dimensão
for( j=0; j<MAT[ i ].length; j++) {
//obtem o tamanho da linha
System.out.println( MAT[ i ][ j ] );
//imprime o conteudo da linha/coluna
}
}
Percorrendo uma matriz
• Usar uma estrutura de repetição para cada linha da
matriz!
• EXEMPLO1: mostrar todos os elementos gravados em
uma linha
for ( i=0; i<3; i++) {
//quantidade de linhas é 3
System.out.println( “Elementos da linha” + i );
for( j=0; j<4; j++) {
//quantidade de colunas é 4
System.out.println( x[ i , j ] );
}
}
Percorrendo uma matriz
• EXEMPLO1: mostrar todos os elementos gravados em
uma coluna
for ( i=0; i<4; i++) {
//quantidade de colunas é 4
System.out.println( “Elementos da coluna” + i );
for( j=0; j<3; j++) {
//quantidade de linhas é 4
System.out.println( x[ j , i ] );
}
}
Percorrendo uma matriz
• Observações:
• A mudança nos valores das variáveis i e
j, controlam as estruturas de repetição e
permite a formação de todos os pares
possíveis de linha e coluna que existem na
matriz;
Percorrendo uma matriz
• Observações:
• No caso da linha:
– A mudança na variavel i do for externo é mais
lenta que a mudança na variável j no for
interno.
– Neste caso, a variável i indica como será o
percurso, que no caso será horizontal.
– O índice da linha fica parado e somente o
índice da coluna se altera
Percorrendo uma matriz
• Observações:
• No caso da coluna:
– A mudança na variavel j do for externo é mais
lenta que a mudança na variável i no for
interno.
– Neste caso, a variável j indica como será o
percurso, que no caso será vertical.
– O índice da coluna fica parado e somente o
índice da linha se altera
Percorrendo uma matriz
• Observações:
• No caso da coluna:
– A mudança na variavel j do for externo é mais
lenta que a mudança na variável i no for
interno.
– Neste caso, a variável j indica como será o
percurso, que no caso será vertical.
– O índice da coluna fica parado e somente o
índice da linha se altera

Mais conteúdo relacionado

Mais procurados

Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1Thalles Anderson
 
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001Luis Duncan
 
7 alocacao sequencial - filas
7   alocacao sequencial - filas7   alocacao sequencial - filas
7 alocacao sequencial - filasRicardo Bolanho
 

Mais procurados (7)

Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Matrizes em c#
Matrizes em c#Matrizes em c#
Matrizes em c#
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Matrizes
MatrizesMatrizes
Matrizes
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1
 
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001
 
7 alocacao sequencial - filas
7   alocacao sequencial - filas7   alocacao sequencial - filas
7 alocacao sequencial - filas
 

Destaque (7)

Virus09
Virus09Virus09
Virus09
 
Tratamento de erros
Tratamento de errosTratamento de erros
Tratamento de erros
 
Pacotes
PacotesPacotes
Pacotes
 
Herança
HerançaHerança
Herança
 
Poo
PooPoo
Poo
 
Square One All Practice Capability 2015 BLANK
Square One All Practice Capability 2015 BLANKSquare One All Practice Capability 2015 BLANK
Square One All Practice Capability 2015 BLANK
 
Vetores
VetoresVetores
Vetores
 

Semelhante a Matrizes

Vetores, Matrizes e Strings em C Parte 2
Vetores, Matrizes e Strings em C Parte 2Vetores, Matrizes e Strings em C Parte 2
Vetores, Matrizes e Strings em C Parte 2Elaine Cecília Gatto
 
Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++profjr
 
Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2luisadr
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxOsvano Silva
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - MatrizesPacc UAB
 
Aula de augoritmos e técnicas de programação II
Aula de augoritmos e técnicas de programação IIAula de augoritmos e técnicas de programação II
Aula de augoritmos e técnicas de programação IIvictorlopes714651
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem Cprofjr
 
14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelasRicardo Bolanho
 
2 0 cap 002
2 0 cap 0022 0 cap 002
2 0 cap 002luisadr
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao OctavePeslPinguim
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizesTácito Graça
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2michellobo
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosgjpbg
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2Leandro Lopes
 

Semelhante a Matrizes (20)

Vetores, Matrizes e Strings em C Parte 2
Vetores, Matrizes e Strings em C Parte 2Vetores, Matrizes e Strings em C Parte 2
Vetores, Matrizes e Strings em C Parte 2
 
3 vetor.matriz
3 vetor.matriz3 vetor.matriz
3 vetor.matriz
 
Algoritmos - Aula 09 A - Matrizes
Algoritmos - Aula 09 A - MatrizesAlgoritmos - Aula 09 A - Matrizes
Algoritmos - Aula 09 A - Matrizes
 
Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++
 
Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - Matrizes
 
Aula de augoritmos e técnicas de programação II
Aula de augoritmos e técnicas de programação IIAula de augoritmos e técnicas de programação II
Aula de augoritmos e técnicas de programação II
 
1 exercicio de vectores em C
1 exercicio de vectores em C1 exercicio de vectores em C
1 exercicio de vectores em C
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
 
14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelas
 
2 0 cap 002
2 0 cap 0022 0 cap 002
2 0 cap 002
 
Ed1
Ed1Ed1
Ed1
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao Octave
 
Aula05
Aula05Aula05
Aula05
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 
Matrizes
MatrizesMatrizes
Matrizes
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Matrizes

  • 2. Matrizes • Variável composta homogênea multidimensional • Conjunto de variáveis de mesmo tipo • Alocadas sequenciamente na memória • Índice: referencia sua localização dentro da estrutura. No caso de matrizes, precisamos de tantos índices quantos forem seu dimensionamento. • Exemplo: matriz de 2dimensões, 2 índices. Matrizes de 3dimensões, 3 indícesl.
  • 3. Declarando e Inicializando • Exemplo 1: float x[ ][ ]; //declarando uma matriz do tipo float com duas dimensões. O primeiro colchete é referente ao número de linhas. O segundo colchete é referente ao número de colunas. f = new float[2][10]; //definindo o tamanho das dimensões da matriz 0 0 1 1 2 3 4 5 6 7 8 9 x
  • 4. Declarando e Inicializando • Exemplo 2: char [ ][ ]MAT; //declarando uma matriz do tipo char com duas dimensões; MAT = new char[4][3]; //definindo o tamanho das dimensões da matriz 0 0 1 2 3 1 2 MAT
  • 5. Declarando e Inicializando • Exemplo 3: int [ ][ ]Y[ ]; //declarando uma matriz do tipo int com três dimensões Y = new char[2][4][3]; //definindo o tamanho das dimensões da matriz, que é multidimensional Criamos aqui uma variável com duas linhas (0 a 1), quatro colunas (0 a 3) e três profundidades (0 a 2), que são capazes de armazenar números inteiros
  • 6. Declarando e Inicializando Y = new char[2][4][3]; //definindo o tamanho das dimensões da matriz, que é multidimensional
  • 7. Declarando e Inicializando • Exemplo 4: float x[ ][ ] = new float[2][6]; //declarando e definindo o tamanho da matriz em uma única linha • Exemplo 5: char [ ][ ]MAT = new char[4][3]; //declarando e definindo o tamanho da matriz em uma única linha
  • 8. Declarando e Inicializando • Exemplo 6: int [ ][ ]Y[ ] = new int[2][4][3]; //eclarando e definindo o tamanho da matriz em uma única linha • Exemplo 7: int y[][]; //matriz bidimensional y = new int[2][]; //tamanho da primeira dimensão: duas linhas. Tamanho da segunda dimensão: indefinido y[0] = new int[5]; //definindo o tamanho da linha zero da primeira dimensão: 5 posições y[1] = new int[2]; //definindo o tamanho da linha um da primeira dimensão: 2 posições
  • 9. Declarando e Inicializando int y[][]; //matriz bidimensional y = new int[2][]; //tamanho da primeira dimensão: duas linhas. Tamanho da segunda dimensão: indefinido y[0] = new int[5]; //definindo o tamanho da linha zero da primeira dimensão: 5 posições y[1] = new int[2]; //definindo o tamanho da linha um da primeira dimensão: 2 posições
  • 10. Atribuindo valores à matriz x[ 1 ][ 4 ] = 5; //atribui o valor 5 à posição identificada pelos índices 1 (2ª linha) e 4 (5ª coluna) MAT[ 3 ][ 2 ] = ‘D’; //atribui a letra D à posição identificada pelos índices 3 (4ª linha) e 2 (3ª coluna) y[ 0 ][ 3 ][ 1 ] = 12; //atribui o valor 12 à posição identificada pelos índices 0 (1ª linha), 3 (4ª coluna) e 1 (2ª profundidade)
  • 11. Atribuindo valores à matriz y[ 0 ][ 3 ][ 1 ] = 12; //atribui o valor 12 à posição identificada pelos índices 0 (1ª linha), 3 (4ª coluna) e 1 (2ª profundidade)
  • 12. Atribuindo valores à matriz MAT[ 3 ][ 2 ] = ‘D’; //atribui a letra D à posição identificada pelos índices 3 (4ª linha) e 2 (3ª coluna)
  • 13. Preenchendo uma matriz • Usar uma estrutura de repetição para cada linha da matriz! int x[ ][ ] = new int[7][3]; Scanner e = new Scanner(System.in); for( i = 0; i<7; i++ ) { //preenche a linha for( j=0; j<3; j++ ) { //preenche a coluna x[ i ][ j ] = e.nextInt(); //preenche a célula } }
  • 14. Preenchendo uma matriz int MAT[ ][ ]; //declarando uma matriz bidimensional MAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da primeira dimensão MAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanho da linha zero MAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha um MAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha dois Scanner e = new Scanner(System.in); for( i = 0; i<MAT.length; i++ ) { //preenche a linha for( j=0; j<MAT[i].length; j++ ) { //preenche a coluna x[ i ][ j ] = e.nextInt(); //preenche a célula } }
  • 15. Preenchendo uma matriz int MAT[ ][ ]; //declarando uma matriz bidimensional MAT = new int[ 3 ][ ] ; //definindo a quantidade de linhas da LENGTH primeira dimensão MAT[ 0 ] = new int[ 2 ]; //defininido 2 como tamanhotamanho zero cada Recupera o da linha de dimensão de um array. No MAT[ 1 ] = new int[ 5 ]; //definindo 5 como tamanho da linha um caso desse exemplo, cada linha MAT[ 2 ] = new int[ 3 ]; //definindo 3 como tamanho da linha dois do array tem uma dimensão Scanner e = new Scanner(System.in); diferente! for( i = 0; i<MAT.length; i++ ) { //preenche a linha MAT.length = tamanho da for( j=0; j<MAT[i].length; j++ ) { //preenche a coluna primeira dimensão x[ i ][ j ] = e.nextInt(); //preenche a célula MAT[i].length = tamanho da } linha i de MAT }
  • 16. Imprimindo os valores de uma matriz • Usar uma estrutura de repetição para cada linha da matriz! for( i=0; i<10; i++) { //obtem índice da linha for( j=0; j<6; j++) { //obtem índice da coluna System.out.println( x[ i ][ j ] ); //imprime o conteúdo da célula que está na linha/coluna obtida } }
  • 17. Imprimindo os valores de uma matriz for( i=0; i<MAT.length; i++) { //obtem o tamanho da dimensão for( j=0; j<MAT[ i ].length; j++) { //obtem o tamanho da linha System.out.println( MAT[ i ][ j ] ); //imprime o conteudo da linha/coluna } }
  • 18. Percorrendo uma matriz • Usar uma estrutura de repetição para cada linha da matriz! • EXEMPLO1: mostrar todos os elementos gravados em uma linha for ( i=0; i<3; i++) { //quantidade de linhas é 3 System.out.println( “Elementos da linha” + i ); for( j=0; j<4; j++) { //quantidade de colunas é 4 System.out.println( x[ i , j ] ); } }
  • 19. Percorrendo uma matriz • EXEMPLO1: mostrar todos os elementos gravados em uma coluna for ( i=0; i<4; i++) { //quantidade de colunas é 4 System.out.println( “Elementos da coluna” + i ); for( j=0; j<3; j++) { //quantidade de linhas é 4 System.out.println( x[ j , i ] ); } }
  • 20. Percorrendo uma matriz • Observações: • A mudança nos valores das variáveis i e j, controlam as estruturas de repetição e permite a formação de todos os pares possíveis de linha e coluna que existem na matriz;
  • 21. Percorrendo uma matriz • Observações: • No caso da linha: – A mudança na variavel i do for externo é mais lenta que a mudança na variável j no for interno. – Neste caso, a variável i indica como será o percurso, que no caso será horizontal. – O índice da linha fica parado e somente o índice da coluna se altera
  • 22. Percorrendo uma matriz • Observações: • No caso da coluna: – A mudança na variavel j do for externo é mais lenta que a mudança na variável i no for interno. – Neste caso, a variável j indica como será o percurso, que no caso será vertical. – O índice da coluna fica parado e somente o índice da linha se altera
  • 23. Percorrendo uma matriz • Observações: • No caso da coluna: – A mudança na variavel j do for externo é mais lenta que a mudança na variável i no for interno. – Neste caso, a variável j indica como será o percurso, que no caso será vertical. – O índice da coluna fica parado e somente o índice da linha se altera