Baixe o app para aproveitar ainda mais
Prévia do material em texto
VETORES Roteiro: • Revisão • Estruturas de Dados ▪ Variáveis Compostas Homogêneas ▪ Unidimensionais: Vetores ou Arrays Revisão Exercício Exemplo 1: crie um programa que leia o peso de 3 alunos e forneça os alunos que estão acima da média do peso da classe. E se fossem 100 alunos? Criar 100 variáveis seria inviável, pois teria que aumentar 100 linhas de declaração + 100 linhas de leitura, ou seja, seria pelo menos mais 200 linhas de código! A solução é armazenar os dados em um vetor! VETOR é uma variável composta de vários valores, acessíveis por um índice. Vetor ou Array Estrutura de dados composta homogênea • Contém vários elementos, todos do mesmo tipo ocupando posições sucessivas na memória É uma sequência de vários valores do mesmo tipo, armazenados sequencialmente na memória, e fazendo uso de um mesmo nome de variável para acessar esses valores. Cada elemento desta sequência pode ser acessado individualmente através de um índice (número inteiro). Os elementos são indexados de 0 até n-1, onde n é a quantidade de elementos do vetor. O valor de n também chamado de dimensão ou tamanho do vetor. O vetor tem tamanho fixo (definido na declaração). Durante a execução não é possível aumentar ou diminuir o tamanho do vetor. Exemplos de Vetores • Vetor de inteiros ▪ int idade[10]; • Vetor de caracteres ▪ char nome[30]; • Vetor de float ▪ float peso[3]; Sintaxe de vetores • Declaração Exemplos: Acesso ao conteúdo do vetor O acesso ao conteúdo do vetor é realizado por meio do operador de índice [ ]. Utiliza: ▪ Uma referência de memória (varável do tipo vetor) ▪ Um número inteiro (índice) ▪ Ele retorna uma referência para o elemento correspondente ao índice (valor) ▪ Exemplo: para atribuir o valor 3 na primeira posição do vetor, escrevemos: Inicialização ➢ > É muito comum utilizar a estrutura de repetição for para percorrer todos os elementos de um vetor. ➢ Exemplo 1: Imprimir todos os elementos de um vetor de 100 elementos: Exemplo 2: Um programa que lê dez números e os imprime em ordem inversa. Para isso, é necessário armazenar os 10 números para poder imprimi-los de trás para frente. Seria possível utilizar 10 variáveis distintas, mas a solução com vetor é mais elegante. Mas ainda, se fossem 10.000 números, e não 10, ficaria impraticável usar variáveis distintas. Declaração com conteúdo inicial: Cuidado com os índices: Atribuir todos os valores: Copiar todos os valores: Vetor de Tamanho Variável Solução Simples: Conceitos: Trabalhando com Texto Armazenamento: • Vetor de caracteres • Cada caractere do texto um elemento do vetor • Último caractere: nulo (‘\0’) • Tamanho mínimo do vetor: comprimento do texto + 1 Declaração: Ler e imprimir: OBS: • scanf: leitura por palavra • Não usa & • Cuidado com tamanho da variável Ler e imprimir: OBS: • gets: permite ler frases • Não usa & • Cuidado com tamanho da variável Atribuir à uma variável tipo texto: Acessar caracteres: Exercício 1. Baseado nos vetores de inteiros a e b abaixo, calcule e mostre o resultado passo-a-passo de cada um dos itens independentemente (o resultado de um item não influencia em outro): 1.1) printf(“%d”, a[2] + b[4]); 1.2) int i=2; printf(“%d”, a[i+1] + b[i-1]); 1.3) a[3] = 40; b[1] = a[3] + b[4-1]; printf(“%d”, b[2-1]); 1.4) printf(“%d”, a[b[2]]); 1.5) int soma=0, i; if (b[2] == 2){ a[3] = 3; } else { a[4] = 4; } for (i=2; i<= 4; i++){ soma += a[i]; } printf(“Soma: %d”, soma); Escreva um programa para ... 1) Ler e armazenar um conjunto de N números inteiros (N é lido e é menor que 100). Encontrar e exibir o maior deles. 2) Ler dois vetores de 10 elementos inteiros e multiplicar os elementos de mesmo índice, colocando o resultado em um terceiro vetor. No final, mostrar os dois vetores lidos e o vetor resultante. 3) Ler um texto de no máximo 30 caracteres e trocar cada letra ‘a’ pela letra ‘e’. Imprimir o texto resultante.
Compartilhar