·
Ciência da Computação ·
Introdução à Lógica e Programação
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
1
Verificação de Sorteio para Visto de Estágio
Introdução à Lógica e Programação
UFAL
18
Conceitos sobre Vetores em Programação
Introdução à Lógica e Programação
UFAL
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
10
Introdução às Strings em C++
Introdução à Lógica e Programação
UFAL
7
Implementação de Busca Binária e Funções de Ordenação em C++
Introdução à Lógica e Programação
UFAL
33
Programa em C para Calcular Soma e Produto de Dois Números
Introdução à Lógica e Programação
UFAL
7
Estruturas de Dados: Pilhas, Filas e Listas em C
Introdução à Lógica e Programação
UFAL
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
1
Programa para Multiplicação de Partes em Ragnarok Online
Introdução à Lógica e Programação
UFAL
4
Operações e Estatísticas com Vector em C++
Introdução à Lógica e Programação
UFAL
Texto de pré-visualização
Vetores Conjunto de elementos consecutivos do mesmo tipo que podem ser acessados individualmente a partir de um único nome 0 1 2 3 4 5 6 7 8 9 10 85 77 95 88 74 88 93 86 10 1º índice índices Array tamanho N 10 nenésimo Índice N1 Elemento índice 7 float notas10 notas0 10 notas7 93 Vetores Declaração tipo nomevariavel nelementos Onde tipo Tipo de dados de cada elemento do vetor Nomevariável Nome pelo qual o vetor será conhecido nelementos Quantos elementos tem o vetor Antes float nota1 nota2 nota3 nota100 Depois float notas100 Vetores Declaração Um vetor pode conter elementos de qualquer tipo de dados No entanto os elementos do vetor são todos do mesmo tipo o qual é definido na declaração do mesmo Ex int g20 g é um vetor com 20 números inteiros float renda100 Ou ainda o N 5 tam 30 int idadeN char str20tam Vetores Índices cont Pode ser representado por qualquer expressão que devolva um valor inteiro Ex vetor 1 14 vetor 31 10 vetor 1 vetor 1 513 Vetores Carga de Valores Quando são criados contém valores aleatórios lixo em cada uma das suas posições É possível iniciar automaticamente todos os elementos de um vetor Ex tipo varn valor1 valor2 valor3 int v3 0 1 2 Se um vetor for declarado com n elementos e forem colocados apenas k valores k n os primeiros k elementos do vetor serão iniciados com os respectivos valores e os restantes com o valor zero Ex int v10 10 20 30 equivale a int v 10 10 20 30 0 0 0 0 0 0 0 Vetores Carga de Valores cont A declaração e a carga inicial de um vetor podem ser realizadas sem indicar qual o número de elementos do vetor Neste caso o compilador vai criar um vetor com tantos elementos quantas as cargas iniciais Não se pode declarar vetores sem dimensão Ex tipo var valor1 valor2 valor3 No entanto int v 10 20 30 está correto int v está incorreto e provoca erro compilação Vetores Dicas 1 Forma mais direta de percorrer vetores é com for include iostream using namespace std int main int i vet100 for i0 i 100 i vai de 0 a 99 cin veti for i0 i 100 i vai de 0 a 99 cout posicao i veti endl Vetores Dicas 2 Porém quando não se conhece o tamanho ou a quantidade de dados while é uma opção include iostream using namespace std int main int i0 vet100 cont0 ler1 while ler cout digite 0 para sair cin ler if ler break veti ler cont i for i0 i cont i vai de 0 a 99 cout posicao i veti endl Vector A classe vector é uma alternativa à representação de array primitivo Template de classe Necessário especificar o tipo dos elementos Vectorint vx Necessário incluir o ficheiro vectorh include vector 11 Vector Definição de um vector comsem tamanho determinado Elementos são iniciados com valor de defeito do tipo Podese atribuir um valor inicial 12 int main const int tam10 vectorint v1tam vectorint v2 vazio int v2tam for int i0 itam i v2iv1i vectorint v1101 v1 contém 10 elementos do tipo inteiro inicializados a 1 Vector Métodos 13 Exemplos de Métodos Descrição vxsize Retorna tamanho do vector vxempty Determina se vector está vazio vxresizenovotamanho Redimensiona vector vx2 vx Cópia de vectores vxempty Verifica se vector não tem elementos vxclear Remove todos os elementos de um vector vxerase Remove elementos de um vector vxinsert Insere elementos em um vector vxmaxsize Retorna o número máximo de elementos que o vector pode conter vxreserve Define o número mínimo de elementos que o vector pode conter vxresize Altera o tamanho do vector vxcapacity Retorna o número de elementos que o vector pode conter Vector Inserir um elemento Uso de iterador 14 vypushbackx insere x no fim do vector vypopbackx2 retira x2 do fim do vector iterator it declaração it vybegin aponta para o 1º elemento it vyend aponta para o último elemento it elemento do vector referenciado pelo iterador it incrementa iterador aponta para o próximo elemento Vector push back size clear 15 include iostream include vector using namespace std int main vectorint v int x whilecin x x 0 vpushbackx função pushback adiciona elemento no final do vector e aloca mais espaço forint i0 i vsize i size retorna a quantidade de elementos cout vi endl o acesso é realizado normalmente vclear função clear remove todos os elementos de um vecto whilecin x x 0 vpushbackx Vector erase 16 include iostream include vector using namespace std int main vectorint v int x cout Informe os valores do vector ou 0 para finalizar endl whilecin x x 0 vpushbackx cout Os valores informados foram endl forint i0 i vsize i size retorna a quantidade de elementos cout vi endl o acesso é realizado normalmente verasevbegin apaga o primeiro elemento verasevbegin1 apaga o segundo elemento verasevbegin2 vend apaga todos os elementos exceto os dois primeiros cout Após a exclusão os valores são endl orint i0 i vsize i size retorna a quantidade de elementos cout vi endl o acesso é realizado normalmente Vector Exemplo Iterator 17 include iostream include vector using namespace std int main const int tam7 vectorint v1 int v2tam 0112358 Inicialização de array primitivo for int i0 i tam i v1pushbackv2i cout Conteúdo do vector v1 for vectorintiterator it v1begin it v1end it cout it valor na posição apontada por it cout endl cout Conteúdo do vector v1 for int i 0 i sizeof v2sizeof v20 i cout v2i Vector Ordenação sort 18 include iostream include vector include algorithm using namespace std sort std int main vectorint v cout Informe os dados do vector endl forint i0 i 5 i int j cin j vpushbackj sortvbegin vend ordenação com complexidade NlogN não estável vector ordenado cout O vector ordenado é endl forint i0 i vsize i cout vi endl Vector Ordenação stablesort 19 include iostream include vector include algorithm using namespace std sort std int main vectorint v cout Informe os dados do Vector endl forint i0 i 5 i int j cin j vpushbackj stablesort vbegin vend ordenação com complexidade NlogN cout Vector ordenado endl forint i0 i vsize i cout vi endl
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
1
Verificação de Sorteio para Visto de Estágio
Introdução à Lógica e Programação
UFAL
18
Conceitos sobre Vetores em Programação
Introdução à Lógica e Programação
UFAL
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
10
Introdução às Strings em C++
Introdução à Lógica e Programação
UFAL
7
Implementação de Busca Binária e Funções de Ordenação em C++
Introdução à Lógica e Programação
UFAL
33
Programa em C para Calcular Soma e Produto de Dois Números
Introdução à Lógica e Programação
UFAL
7
Estruturas de Dados: Pilhas, Filas e Listas em C
Introdução à Lógica e Programação
UFAL
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
1
Programa para Multiplicação de Partes em Ragnarok Online
Introdução à Lógica e Programação
UFAL
4
Operações e Estatísticas com Vector em C++
Introdução à Lógica e Programação
UFAL
Texto de pré-visualização
Vetores Conjunto de elementos consecutivos do mesmo tipo que podem ser acessados individualmente a partir de um único nome 0 1 2 3 4 5 6 7 8 9 10 85 77 95 88 74 88 93 86 10 1º índice índices Array tamanho N 10 nenésimo Índice N1 Elemento índice 7 float notas10 notas0 10 notas7 93 Vetores Declaração tipo nomevariavel nelementos Onde tipo Tipo de dados de cada elemento do vetor Nomevariável Nome pelo qual o vetor será conhecido nelementos Quantos elementos tem o vetor Antes float nota1 nota2 nota3 nota100 Depois float notas100 Vetores Declaração Um vetor pode conter elementos de qualquer tipo de dados No entanto os elementos do vetor são todos do mesmo tipo o qual é definido na declaração do mesmo Ex int g20 g é um vetor com 20 números inteiros float renda100 Ou ainda o N 5 tam 30 int idadeN char str20tam Vetores Índices cont Pode ser representado por qualquer expressão que devolva um valor inteiro Ex vetor 1 14 vetor 31 10 vetor 1 vetor 1 513 Vetores Carga de Valores Quando são criados contém valores aleatórios lixo em cada uma das suas posições É possível iniciar automaticamente todos os elementos de um vetor Ex tipo varn valor1 valor2 valor3 int v3 0 1 2 Se um vetor for declarado com n elementos e forem colocados apenas k valores k n os primeiros k elementos do vetor serão iniciados com os respectivos valores e os restantes com o valor zero Ex int v10 10 20 30 equivale a int v 10 10 20 30 0 0 0 0 0 0 0 Vetores Carga de Valores cont A declaração e a carga inicial de um vetor podem ser realizadas sem indicar qual o número de elementos do vetor Neste caso o compilador vai criar um vetor com tantos elementos quantas as cargas iniciais Não se pode declarar vetores sem dimensão Ex tipo var valor1 valor2 valor3 No entanto int v 10 20 30 está correto int v está incorreto e provoca erro compilação Vetores Dicas 1 Forma mais direta de percorrer vetores é com for include iostream using namespace std int main int i vet100 for i0 i 100 i vai de 0 a 99 cin veti for i0 i 100 i vai de 0 a 99 cout posicao i veti endl Vetores Dicas 2 Porém quando não se conhece o tamanho ou a quantidade de dados while é uma opção include iostream using namespace std int main int i0 vet100 cont0 ler1 while ler cout digite 0 para sair cin ler if ler break veti ler cont i for i0 i cont i vai de 0 a 99 cout posicao i veti endl Vector A classe vector é uma alternativa à representação de array primitivo Template de classe Necessário especificar o tipo dos elementos Vectorint vx Necessário incluir o ficheiro vectorh include vector 11 Vector Definição de um vector comsem tamanho determinado Elementos são iniciados com valor de defeito do tipo Podese atribuir um valor inicial 12 int main const int tam10 vectorint v1tam vectorint v2 vazio int v2tam for int i0 itam i v2iv1i vectorint v1101 v1 contém 10 elementos do tipo inteiro inicializados a 1 Vector Métodos 13 Exemplos de Métodos Descrição vxsize Retorna tamanho do vector vxempty Determina se vector está vazio vxresizenovotamanho Redimensiona vector vx2 vx Cópia de vectores vxempty Verifica se vector não tem elementos vxclear Remove todos os elementos de um vector vxerase Remove elementos de um vector vxinsert Insere elementos em um vector vxmaxsize Retorna o número máximo de elementos que o vector pode conter vxreserve Define o número mínimo de elementos que o vector pode conter vxresize Altera o tamanho do vector vxcapacity Retorna o número de elementos que o vector pode conter Vector Inserir um elemento Uso de iterador 14 vypushbackx insere x no fim do vector vypopbackx2 retira x2 do fim do vector iterator it declaração it vybegin aponta para o 1º elemento it vyend aponta para o último elemento it elemento do vector referenciado pelo iterador it incrementa iterador aponta para o próximo elemento Vector push back size clear 15 include iostream include vector using namespace std int main vectorint v int x whilecin x x 0 vpushbackx função pushback adiciona elemento no final do vector e aloca mais espaço forint i0 i vsize i size retorna a quantidade de elementos cout vi endl o acesso é realizado normalmente vclear função clear remove todos os elementos de um vecto whilecin x x 0 vpushbackx Vector erase 16 include iostream include vector using namespace std int main vectorint v int x cout Informe os valores do vector ou 0 para finalizar endl whilecin x x 0 vpushbackx cout Os valores informados foram endl forint i0 i vsize i size retorna a quantidade de elementos cout vi endl o acesso é realizado normalmente verasevbegin apaga o primeiro elemento verasevbegin1 apaga o segundo elemento verasevbegin2 vend apaga todos os elementos exceto os dois primeiros cout Após a exclusão os valores são endl orint i0 i vsize i size retorna a quantidade de elementos cout vi endl o acesso é realizado normalmente Vector Exemplo Iterator 17 include iostream include vector using namespace std int main const int tam7 vectorint v1 int v2tam 0112358 Inicialização de array primitivo for int i0 i tam i v1pushbackv2i cout Conteúdo do vector v1 for vectorintiterator it v1begin it v1end it cout it valor na posição apontada por it cout endl cout Conteúdo do vector v1 for int i 0 i sizeof v2sizeof v20 i cout v2i Vector Ordenação sort 18 include iostream include vector include algorithm using namespace std sort std int main vectorint v cout Informe os dados do vector endl forint i0 i 5 i int j cin j vpushbackj sortvbegin vend ordenação com complexidade NlogN não estável vector ordenado cout O vector ordenado é endl forint i0 i vsize i cout vi endl Vector Ordenação stablesort 19 include iostream include vector include algorithm using namespace std sort std int main vectorint v cout Informe os dados do Vector endl forint i0 i 5 i int j cin j vpushbackj stablesort vbegin vend ordenação com complexidade NlogN cout Vector ordenado endl forint i0 i vsize i cout vi endl