Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMaria Fernanda Álvaro Paixão Alterado mais de 8 anos atrás
2
O que são arrays: estruturas de dados homogêneas coleção de elementos do mesmo tipo referenciada por um nome comum um array pode ser imaginado como uma linha em uma tabela são usados para ordenação e busca
3
Arrays são compostos por posições contíguas na memória Exemplo: um array de 4 elementos
4
Como declarar arrays: [ ]; Exemplo: int v[10]; float notas[4];
5
[ ]; tipo: o tipo de dado que o array armazena. Arrays só podem armazenar um único tipo nome: qualquer identificador válido. Mesmas regras de identificadores de variáveis número de elementos: array são estruturas estáticas, portanto o tamanho é definido na declaração
6
Os elementos são acessados por meio do nome seguido do índice do elemento O índice do primeiro elemento é O (zero) e do último é n-1, sendo n o número de elementos Exemplo: int a[3]; primeiro elemento : a[0] segundo elemento: a[1] terceiro elemento: a[2]
7
Para atribuir valor ao elemento do array: a[2] = 10; //armazena 10 no elemento de índice 2 Para usar o valor do elemento do array: soma = a[0] + a[1];
8
Acessar um array sem especificar o índice é um erro de sintaxe int a[10]; a = 99; //erro cout << a; //erro
9
Acessar um elemento “fora” do array é um erro de lógica e traz resultados inesperados em tempo de execução int a[10]; … soma = soma + a[10];
10
Com estrutura de repetição int arr[10]; int i = 0; for(i=0; i<10; i++) { arr[i] = 0; }
11
Atribuindo valor a cada elemento char vogais[5] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; int a[3] = { 1, 4, 9};
12
Atribuindo valor zero a todos os elementos int a[100] = {0}; //isto funciona No entanto int a[100] = {-1}; //isto não funciona!
13
Arrays de caracteres possuem certas características próprias A principal diferença entre este tipo e os arrays numéricos é que eles podem ser tratados como palavras ou frases Por exemplo, é possível “ler” todos os caracteres de uma vez só
14
Declarando um array de char: char palavra[30]; Declarando e inicializando: char vogais[6]={ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; ou char vogais[6]=“aeiou”; // isto pode na declaração
15
Arrays de char devem reservar a última posição para o terminador ‘\ 0 ’ ou caractere NULL Isto é especialmente importante quando a “palavra” não ocupa todas as posições Exemplo char p[30] = “teste”; Internamente será armazenado “teste\ 0 ” sobrando 24 posições
16
Atribuição de valores a[0]=‘x’; a[1]=‘y’; No entanto: a = “xy”; // isto é um erro a[1] = “x” // isto é um erro
17
Lendo valores Não use cin Para ler arrays de caracteres gets( ) ; não faz verificação de tamanho Esta função faz parte de
18
Lendo valores – exemplo char a[10]; gets(a); Lê uma palavra ou frase e coloca cada letra em uma posição do array, a partir da posição 0
19
mostrando valores – exemplo char a[10]; … puts(a); //exibe o conteúdo do array Ou cout << a;
20
Outras funções para caracteres tolower( ) - converte para minúsculo toupper ( ) – converte para maiúsculo isspace ( ) - retorna verdadeiro se o caractere for um espaço em branco isdigit ( ) - verifica se o caractere é um número decimal
21
strcpy(, ); Exemplo char frase[50]; frase = “teste”; // isto é um erro strcpy(frase, “teste”); // copia a cadeia // “teste” no array frase
22
strcmp(, ); compara se dois arrays são iguais Exemplo char palavra[50], outraPalavra[50]; if (frase == “teste”) // isto é um erro strcmp(palavra, outraPalavra)
23
strcmp( ) é uma função que recebe duas cadeias de caracteres e retorna: 0, se as duas cadeias forem iguais -1, se a primeira for menor que a segunda 1, se a primeira for maior que a segunda
24
Arrays podem ter mais de uma dimensão Arrays de duas dimensões podem ser vistos como tabelas e geralmente são chamados de matrizes Matrizes são conjuntos de dados arranjados na forma de linhas e colunas Para identificar um elemento na tabela é necessário indicar a linha e coluna do elemento (célula)
26
Declarando arrays de duas dimensões int a[3][4]; Inicializando na declaração int a[2][2] = {{ o,o}, {0,0}};
27
Inicializando com estrutura de repetição int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ a[i][j] = 0; }
28
Inicializando com estrutura de repetição int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ a[i][j] = 0; } } sempre é necessário referenciar a linha e coluna
29
Lendo os dados de uma matriz int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ cin >> [i][j]; }
30
Mostrando os dados de uma matriz int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ cout << [i][j] << “\t”; } cout << endl; //muda a linha }
31
Uma busca consiste em saber: se um dado elemento está no array quantas ocorrências do elemento procurado existem no array Exemplo: Dado um número de candidato, saber se ele está na lista dos aprovados
32
Exemplo: … bool achou = false; while (i < TAM){ if (lista[i] == elemento){ achou = true; } i++; }
33
Exemplo melhorado: … bool achou = false; while (i < TAM && !achou){ if (lista[i] == elemento){ achou = true; } i++; }
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.